Compare commits

..

1 Commits

Author SHA1 Message Date
caa4d9908a Branch for developing Bitten client/server testing
[SVN r41004]
2007-11-10 22:53:12 +00:00
463 changed files with 15909 additions and 17679 deletions

View File

@ -1,10 +1,3 @@
#==============================================================================
# Copyright (c) 2003-2007 Joel de Guzman
#
# Use, modification and distribution is subject to the Boost Software
# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
#==============================================================================
project boost/libs/fusion/doc ; project boost/libs/fusion/doc ;
import boostbook : boostbook ; import boostbook : boostbook ;
using quickbook ; using quickbook ;
@ -15,7 +8,6 @@ boostbook quickbook
: :
<xsl:param>boost.root=../../../.. <xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm <xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
<xsl:param>chunk.section.depth=4 <xsl:param>chunk.section.depth=4
<xsl:param>chunk.first.sections=1 <xsl:param>chunk.first.sections=1
<xsl:param>toc.section.depth=3 <xsl:param>toc.section.depth=3

View File

@ -1,10 +1,3 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Acknowledgements] [section Acknowledgements]
Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey

View File

@ -1,247 +0,0 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Adapted]
Fusion provides a couple of adapters for other sequences such as
`std::pair`, __mpl__ sequences, and `boost::array`. These adapters are
written using Fusion's non-intrusive __extension__ mechanism. If you wish
to use these sequences with fusion, simply include the necessary files and
they will be regarded as first-class, fully conforming fusion sequences
[footnote Fusion sequences may also be adapted as fully conforming __mpl__
sequences (see __intrinsics__). That way, we can have 2-way adaptation to
and from __mpl__ and Fusion].
Fusion also provides various schemes to make it easy for the user to adapt
various data structures, non-intrusively, as full fledged Fusion sequences.
[heading Header]
#include <boost/fusion/adapted.hpp>
#include <boost/fusion/include/adapted.hpp>
[section std::pair]
This module provides adapters for `std::pair`. Including the module header
makes `std::pair` a fully conforming __random_access_sequence__.
[heading Header]
#include <boost/fusion/adapted/std_pair.hpp>
#include <boost/fusion/include/std_pair.hpp>
[heading Model of]
* __random_access_sequence__
[heading Example]
std::pair<int, std::string> p(123, "Hola!!!");
std::cout << __at_c__<0>(p) << std::endl;
std::cout << __at_c__<1>(p) << std::endl;
std::cout << p << std::endl;
[heading See also]
__std_pair_doc__, __tr1_tuple_pair__
[endsect]
[section mpl sequence]
This module provides adapters for __mpl__ sequences. Including the module
header makes all __mpl__ sequences fully conforming fusion sequences.
[heading Header]
#include <boost/fusion/adapted/mpl.hpp>
#include <boost/fusion/include/mpl.hpp>
[heading Model of]
* __forward_sequence__ (If the __mpl__ sequence is a forward sequence.)
* __bidirectional_sequence__ (If the __mpl__ sequence is a bidirectional sequence.)
* __random_access_sequence__ (If the __mpl__ sequence is a random access sequence.)
[heading Example]
mpl::vector_c<int, 123, 456> vec_c;
fusion::vector2<int, long> v(vec_c);
std::cout << __at_c__<0>(v) << std::endl;
std::cout << __at_c__<1>(v) << std::endl;
v = mpl::vector_c<int, 456, 789>();
std::cout << __at_c__<0>(v) << std::endl;
std::cout << __at_c__<1>(v) << std::endl;
[heading See also]
__mpl__
[endsect]
[section boost::array]
This module provides adapters for `boost::array`. Including the module
header makes `boost::array` a fully conforming __random_access_sequence__.
[heading Header]
#include <boost/fusion/adapted/array.hpp>
#include <boost/fusion/include/array.hpp>
[heading Model of]
* __random_access_sequence__
[heading Example]
boost::array<int,3> arr = {{1,2,3}};
std::cout << *__begin__(arr) << std::endl;
std::cout << *__next__(__begin__(arr)) << std::endl;
std::cout << *__advance_c__<2>(__begin__(arr)) << std::endl;
std::cout << *__prior__(__end__(arr)) << std::endl;
std::cout << __at_c__<2>(arr) << std::endl;
[heading See also]
__boost_array_library__
[endsect]
[section boost::tuple]
This module provides adapters for `boost::tuple`. Including the module
header makes `boost::tuple` a fully conforming __forward_sequence__.
[heading Header]
#include <boost/fusion/adapted/boost_tuple.hpp>
#include <boost/fusion/include/boost_tuple.hpp>
[heading Model of]
* __forward_sequence__
[heading Example]
boost::tuple<int,std::string> example_tuple(101, "hello");
std::cout << *boost::fusion::begin(example_tuple) << '\n';
std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
[heading See also]
__boost_tuple_library__
[endsect]
[section:adapt_struct BOOST_FUSION_ADAPT_STRUCT]
[heading Description]
BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a __random_access_sequence__.
[heading Synopsis]
BOOST_FUSION_ADAPT_STRUCT(
struct_name
(member_type0, member_name0)
(member_type1, member_name1)
...
)
[heading Semantics]
The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__. The sequence of `(member_typeN, member_nameN)`
pairs declare the type and names of each of the struct members that will be
part of the sequence.
The macro should be used at global scope, and `struct_name` should be the fully
namespace qualified name of the struct to be converted.
[heading Header]
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
[heading Example]
namespace demo
{
struct employee
{
std::string name;
int age;
};
}
// demo::employee is now a Fusion sequence
BOOST_FUSION_ADAPT_STRUCT(
demo::employee
(std::string, name)
(int, age))
[endsect]
[section:adapt_assoc BOOST_FUSION_ADAPT_ASSOC_STRUCT]
[heading Description]
BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a model of __random_access_sequence__
and __associative_sequence__.
[heading Synopsis]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
struct_name
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
)
[heading Semantics]
The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__ and __associative_sequence__.
The sequence of `(member_typeN, member_nameN, key_typeN)`
triples declare the type, name and key type of each of the struct members
that will be part of the sequence.
The macro should be used at global scope, and `struct_name` should be the fully
namespace qualified name of the struct to be converted.
[heading Header]
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
#include <boost/fusion/include/adapt_assoc_struct.hpp>
[heading Example]
namespace demo
{
struct employee
{
std::string name;
int age;
};
}
namespace keys
{
struct name;
struct age;
}
// demo::employee is now a Fusion sequence
// It is also an associative sequence with
// keys keys::name and keys::age present.
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
demo::employee
(std::string, name, keys::name)
(int, age, keys::age))
[endsect]
[endsect]

View File

@ -1,12 +1,4 @@
[/============================================================================== [section Algorithms]
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Algorithm]
[heading Lazy Evaluation] [heading Lazy Evaluation]
Unlike __mpl__, Fusion algorithms are lazy and non sequence-type Unlike __mpl__, Fusion algorithms are lazy and non sequence-type
@ -37,15 +29,13 @@ sequence specific and need to be implemented N times over N different
sequences are now implemented only once. That is to say that Fusion sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible. However, an important caveat is that the sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like __push_back__ does not retain result of a sequence extending operation like __push_back__ does not retain
the properties of the original sequence such as associativity of __set__(s). the properties of the original sequence such as associativity of __set__s.
To regain the original sequence, __conversion__ functions are provided. You To regain the original sequence, __conversion__ functions are provided. You
may use one of the __conversion__ functions to convert back to the original may use one of the __conversion__ functions to convert back to the original
sequence type. sequence type.
[heading Header] [heading Header]
#include <boost/fusion/algorithm.hpp> #include <boost/fusion/algorithm.hpp>
#include <boost/fusion/include/algorithm.hpp>
[section Iteration] [section Iteration]
@ -53,9 +43,7 @@ The iteration algorithms provide the fundamental algorithms for traversing
a sequence repeatedly applying an operation to its elements. a sequence repeatedly applying an operation to its elements.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration.hpp> #include <boost/fusion/algorithm/iteration.hpp>
#include <boost/fusion/include/iteration.hpp>
[section Functions] [section Functions]
@ -91,9 +79,7 @@ For a sequence `Seq`, initial state, and binary function object or function poin
Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`. Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/fold.hpp> #include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/include/fold.hpp>
[heading Example] [heading Example]
struct make_string struct make_string
@ -144,9 +130,7 @@ For a sequence `Seq`, initial state, and binary function object or function poin
Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`. Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/accumulate.hpp> #include <boost/fusion/algorithm/iteration/accumulate.hpp>
#include <boost/fusion/include/accumulate.hpp>
[heading Example] [heading Example]
struct make_string struct make_string
@ -195,9 +179,7 @@ Applies a unary function object to each element of a sequence.
Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`. Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/for_each.hpp> #include <boost/fusion/algorithm/iteration/for_each.hpp>
#include <boost/fusion/include/for_each.hpp>
[heading Example] [heading Example]
struct increment struct increment
@ -253,9 +235,7 @@ type `State` and binary function object or function pointer of type `F`.
Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`. Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/fold.hpp> #include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/include/fold.hpp>
[endsect] [endsect]
@ -293,9 +273,7 @@ type `State` and binary function object or function pointer of type `F`.
Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`. Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/accumulate.hpp> #include <boost/fusion/algorithm/iteration/accumulate.hpp>
#include <boost/fusion/include/accumulate.hpp>
[endsect] [endsect]
@ -333,9 +311,7 @@ The return type is always `void`.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/iteration/for_each.hpp> #include <boost/fusion/algorithm/iteration/for_each.hpp>
#include <boost/fusion/include/for_each.hpp>
[endsect] [endsect]
@ -347,9 +323,7 @@ Constant.
The query algorithms provide support for searching and analyzing sequences. The query algorithms provide support for searching and analyzing sequences.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query.hpp> #include <boost/fusion/algorithm/query.hpp>
#include <boost/fusion/include/query.hpp>
[section Functions] [section Functions]
@ -383,9 +357,7 @@ For a sequence `seq` and unary function object `f`, `any` returns true if `f` re
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/any.hpp> #include <boost/fusion/algorithm/query/any.hpp>
#include <boost/fusion/include/any.hpp>
[heading Example] [heading Example]
struct odd struct odd
@ -432,9 +404,7 @@ For a sequence `seq` and unary function object `f`, `all` returns true if `f` re
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/all.hpp> #include <boost/fusion/algorithm/query/all.hpp>
#include <boost/fusion/include/all.hpp>
[heading Example] [heading Example]
struct odd struct odd
@ -481,9 +451,7 @@ For a sequence `seq` and unary function object `f`, `none` returns true if `f` r
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/none.hpp> #include <boost/fusion/algorithm/query/none.hpp>
#include <boost/fusion/include/none.hpp>
[heading Example] [heading Example]
struct odd struct odd
@ -536,9 +504,7 @@ Equivalent to `__find_if__<boost::is_same<_, T> >(seq)`
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/find.hpp> #include <boost/fusion/algorithm/query/find.hpp>
#include <boost/fusion/include/find.hpp>
[heading Example] [heading Example]
const __vector__<char,int> vec('a','0'); const __vector__<char,int> vec('a','0');
@ -583,8 +549,8 @@ or `__end__(seq)` if there is no such element.
[heading Complexity] [heading Complexity]
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header]
/algorithm/query/find_if.hpp> #include <boost/fusion/algorithm/query/find_if.hpp>
[heading Example] [heading Example]
const __vector__<double,int> vec(1.0,2); const __vector__<double,int> vec(1.0,2);
@ -623,9 +589,7 @@ Returns the number of elements of a given type within a sequence.
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/count.hpp> #include <boost/fusion/algorithm/query/count.hpp>
#include <boost/fusion/include/count.hpp>
[heading Example] [heading Example]
const __vector__<double,int,int> vec(1.0,2,3); const __vector__<double,int,int> vec(1.0,2,3);
@ -664,9 +628,7 @@ Returns the number of elements within a sequence with a type for which a given u
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/count_if.hpp> #include <boost/fusion/algorithm/query/count_if.hpp>
#include <boost/fusion/include/count_if.hpp>
[heading Example] [heading Example]
const __vector__<int,int,int> vec(1,2,3); const __vector__<int,int,int> vec(1,2,3);
@ -710,9 +672,7 @@ A metafunction returning the result type of __any__.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/any.hpp> #include <boost/fusion/algorithm/query/any.hpp>
#include <boost/fusion/include/any.hpp>
[endsect] [endsect]
@ -748,9 +708,7 @@ A metafunction returning the result type of __all__.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/all.hpp> #include <boost/fusion/algorithm/query/all.hpp>
#include <boost/fusion/include/all.hpp>
[endsect] [endsect]
@ -786,9 +744,7 @@ A metafunction returning the result type of __none__.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/none.hpp> #include <boost/fusion/algorithm/query/none.hpp>
#include <boost/fusion/include/none.hpp>
[endsect] [endsect]
@ -824,9 +780,7 @@ Returns the result type of `find`, given the sequence and search types.
Linear, at most `__result_of_size__<Sequence>::value` comparisons. Linear, at most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/find.hpp> #include <boost/fusion/algorithm/query/find.hpp>
#include <boost/fusion/include/find.hpp>
[endsect] [endsect]
@ -862,9 +816,7 @@ Returns the result type of `find_if` given the sequence and predicate types.
Linear. At most `__result_of_size__<Sequence>::value` comparisons. Linear. At most `__result_of_size__<Sequence>::value` comparisons.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/find_if.hpp> #include <boost/fusion/algorithm/query/find_if.hpp>
#include <boost/fusion/include/find_if.hpp>
[endsect] [endsect]
@ -900,9 +852,7 @@ A metafunction that returns the result type of `count` given the sequence and se
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/count.hpp> #include <boost/fusion/algorithm/query/count.hpp>
#include <boost/fusion/include/count.hpp>
[endsect] [endsect]
@ -938,9 +888,7 @@ A metafunction that returns the result type of `count_if` given the sequence and
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/query/count_if.hpp> #include <boost/fusion/algorithm/query/count_if.hpp>
#include <boost/fusion/include/count_if.hpp>
[endsect] [endsect]
@ -956,9 +904,7 @@ it is important that the lifetime of the input arguments is greater than the
period during which you wish to use the results.] period during which you wish to use the results.]
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation.hpp> #include <boost/fusion/algorithm/transformation.hpp>
#include <boost/fusion/include/transformation.hpp>
[section Functions] [section Functions]
@ -992,9 +938,7 @@ Equivalent to `__filter_if__<boost::same_type<_, T> >(seq)`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/filter.hpp> #include <boost/fusion/algorithm/transformation/filter.hpp>
#include <boost/fusion/include/filter.hpp>
[heading Example] [heading Example]
const __vector__<int,int,long,long> vec(1,2,3,4); const __vector__<int,int,long,long> vec(1,2,3,4);
@ -1033,9 +977,7 @@ to `boost::mpl::true_`. The order of the retained elements is the same as in the
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/filter_if.hpp> #include <boost/fusion/algorithm/transformation/filter_if.hpp>
#include <boost/fusion/include/filter_if.hpp>
[heading Example] [heading Example]
const __vector__<int,int,double,double> vec(1,2,3.0,4.0); const __vector__<int,int,double,double> vec(1,2,3.0,4.0);
@ -1094,9 +1036,7 @@ with elements created by applying `f(e)` to each element of `e` of `seq`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/include/transform.hpp>
[heading Example] [heading Example]
struct triple struct triple
@ -1144,9 +1084,7 @@ Replaces each value within a sequence of a given type and value with a new value
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/replace.hpp> #include <boost/fusion/algorithm/transformation/replace.hpp>
#include <boost/fusion/include/replace.hpp>
[heading Example] [heading Example]
assert(__replace__(__make_vector__(1,2), 2, 3) == __make_vector__(1,3)); assert(__replace__(__make_vector__(1,2), 2, 3) == __make_vector__(1,3));
@ -1186,9 +1124,7 @@ with `new_value` assigned to each element for which `f` evaluates to `true`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/replace_if.hpp> #include <boost/fusion/algorithm/transformation/replace_if.hpp>
#include <boost/fusion/include/replace_if.hpp>
[heading Example] [heading Example]
struct odd struct odd
@ -1234,9 +1170,7 @@ those of type `T`. Equivalent to `__remove_if__<boost::is_same<_,T> >(seq)`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/remove.hpp> #include <boost/fusion/algorithm/transformation/remove.hpp>
#include <boost/fusion/include/remove.hpp>
[heading Example] [heading Example]
const __vector__<int,double> vec(1,2.0); const __vector__<int,double> vec(1,2.0);
@ -1276,9 +1210,7 @@ Equivalent to `__filter__<boost::mpl::not_<Pred> >(seq)`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/remove_if.hpp> #include <boost/fusion/algorithm/transformation/remove_if.hpp>
#include <boost/fusion/include/remove_if.hpp>
[heading Example] [heading Example]
const __vector__<int,double> vec(1,2.0); const __vector__<int,double> vec(1,2.0);
@ -1313,9 +1245,7 @@ Returns a new sequence with the elements of the original in reverse order.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/reverse.hpp> #include <boost/fusion/algorithm/transformation/reverse.hpp>
#include <boost/fusion/include/reverse.hpp>
[heading Example] [heading Example]
assert(__reverse__(__make_vector__(1,2,3)) == __make_vector__(3,2,1)); assert(__reverse__(__make_vector__(1,2,3)) == __make_vector__(3,2,1));
@ -1349,9 +1279,7 @@ __clear__ returns an empty sequence.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/clear.hpp> #include <boost/fusion/algorithm/transformation/clear.hpp>
#include <boost/fusion/include/clear.hpp>
[heading Example] [heading Example]
assert(__clear__(__make_vector__(1,2,3)) == __make_vector__()); assert(__clear__(__make_vector__(1,2,3)) == __make_vector__());
@ -1405,9 +1333,7 @@ in the range [`first`,`last`).
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/erase.hpp> #include <boost/fusion/algorithm/transformation/erase.hpp>
#include <boost/fusion/include/erase.hpp>
[heading Example] [heading Example]
const __vector__<int, double, char> vec(1, 2.0, 'c'); const __vector__<int, double, char> vec(1, 2.0, 'c');
@ -1446,9 +1372,7 @@ elements of the original except those with a given key.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/erase_key.hpp> #include <boost/fusion/algorithm/transformation/erase_key.hpp>
#include <boost/fusion/include/erase_key.hpp>
[heading Example] [heading Example]
assert(__erase_key__<int>(__make_map__<int, long>('a', 'b')) == __make_map__<long>('b')); assert(__erase_key__<int>(__make_map__<int, long>('a', 'b')) == __make_map__<long>('b'));
@ -1488,9 +1412,7 @@ type and value of `t` inserted at iterator `pos`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/insert.hpp> #include <boost/fusion/algorithm/transformation/insert.hpp>
#include <boost/fusion/include/insert.hpp>
[heading Example] [heading Example]
const __vector__<int,int> vec(1,2); const __vector__<int,int> vec(1,2);
@ -1531,9 +1453,7 @@ Returns a new sequence with another sequence inserted at a specified iterator.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/insert_range.hpp> #include <boost/fusion/algorithm/transformation/insert_range.hpp>
#include <boost/fusion/include/insert_range.hpp>
[heading Example] [heading Example]
const __vector__<int,int> vec(1,2); const __vector__<int,int> vec(1,2);
@ -1569,9 +1489,7 @@ Takes 2 sequences and returns a sequence containing the elements of the first fo
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/join.hpp> #include <boost/fusion/algorithm/transformation/join.hpp>
#include <boost/fusion/include/join.hpp>
[heading Example] [heading Example]
__vector__<int,char> v1(1, 'a'); __vector__<int,char> v1(1, 'a');
@ -1611,9 +1529,7 @@ Zips sequences together to form a single sequence, whos members are tuples of th
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/zip.hpp> #include <boost/fusion/algorithm/transformation/zip.hpp>
#include <boost/fusion/include/zip.hpp>
[heading Example] [heading Example]
__vector__<int,char> v1(1, 'a'); __vector__<int,char> v1(1, 'a');
@ -1649,9 +1565,7 @@ Returns a new sequence, with the last element of the original removed.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/pop_back.hpp> #include <boost/fusion/algorithm/transformation/pop_back.hpp>
#include <boost/fusion/include/pop_back.hpp>
[heading Example] [heading Example]
assert(___pop_back__(__make_vector__(1,2,3)) == __make_vector__(1,2)); assert(___pop_back__(__make_vector__(1,2,3)) == __make_vector__(1,2));
@ -1686,9 +1600,7 @@ Returns a new sequence, with the first element of the original removed.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/pop_front.hpp> #include <boost/fusion/algorithm/transformation/pop_front.hpp>
#include <boost/fusion/include/pop_front.hpp>
[heading Example] [heading Example]
assert(__pop_front__(__make_vector__(1,2,3)) == __make_vector__(2,3)); assert(__pop_front__(__make_vector__(1,2,3)) == __make_vector__(2,3));
@ -1725,9 +1637,7 @@ Returns a new sequence with an element added at the end.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/push_back.hpp> #include <boost/fusion/algorithm/transformation/push_back.hpp>
#include <boost/fusion/include/push_back.hpp>
[heading Example] [heading Example]
assert(__push_back__(__make_vector__(1,2,3),4) == __make_vector__(1,2,3,4)); assert(__push_back__(__make_vector__(1,2,3),4) == __make_vector__(1,2,3,4));
@ -1764,9 +1674,7 @@ Returns a new sequence with an element added at the beginning.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/push_front.hpp> #include <boost/fusion/algorithm/transformation/push_front.hpp>
#include <boost/fusion/include/push_front.hpp>
[heading Example] [heading Example]
assert(__push_front__(__make_vector__(1,2,3),0) == __make_vector__(0,1,2,3)); assert(__push_front__(__make_vector__(1,2,3),0) == __make_vector__(0,1,2,3));
@ -1809,9 +1717,7 @@ Returns the result type of __filter__ given the sequence type and type to retain
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/filter.hpp> #include <boost/fusion/algorithm/transformation/filter.hpp>
#include <boost/fusion/include/filter.hpp>
[endsect] [endsect]
@ -1847,9 +1753,7 @@ Returns the result type of __filter_if__ given the sequence and unary __mpl_lamb
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/filter_if.hpp> #include <boost/fusion/algorithm/transformation/filter_if.hpp>
#include <boost/fusion/include/filter_if.hpp>
[endsect] [endsect]
@ -1904,9 +1808,7 @@ with elements created by applying `f(e)` to each element of `e` of `seq`.
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/transform.hpp> #include <boost/fusion/algorithm/transformation/transform.hpp>
#include <boost/fusion/include/transform.hpp>
[heading Example] [heading Example]
struct triple struct triple
@ -1955,9 +1857,7 @@ Returns the result type of __replace__, given the types of the input sequence an
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/replace.hpp> #include <boost/fusion/algorithm/transformation/replace.hpp>
#include <boost/fusion/include/replace.hpp>
[endsect] [endsect]
@ -1994,9 +1894,7 @@ Returns the result type of __replace_if__, given the types of the sequence, __po
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/replace_if.hpp> #include <boost/fusion/algorithm/transformation/replace_if.hpp>
#include <boost/fusion/include/replace_if.hpp>
[endsect] [endsect]
@ -2032,9 +1930,7 @@ Returns the result type of __remove__, given the sequence and removal types.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/remove.hpp> #include <boost/fusion/algorithm/transformation/remove.hpp>
#include <boost/fusion/include/remove.hpp>
[endsect] [endsect]
@ -2070,9 +1966,7 @@ Returns the result type of __remove_if__, given the input sequence and unary __m
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/remove_if.hpp> #include <boost/fusion/algorithm/transformation/remove_if.hpp>
#include <boost/fusion/include/remove_if.hpp>
[endsect] [endsect]
@ -2106,9 +2000,7 @@ Returns the result type of __reverse__, given the input sequence type.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/reverse.hpp> #include <boost/fusion/algorithm/transformation/reverse.hpp>
#include <boost/fusion/include/reverse.hpp>
[endsect] [endsect]
@ -2142,9 +2034,7 @@ Returns the result type of __clear__, given the input sequence type.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/clear.hpp> #include <boost/fusion/algorithm/transformation/clear.hpp>
#include <boost/fusion/include/clear.hpp>
[endsect] [endsect]
@ -2187,9 +2077,7 @@ Returns the result type of __erase__, given the input sequence and range delimit
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/erase.hpp> #include <boost/fusion/algorithm/transformation/erase.hpp>
#include <boost/fusion/include/erase.hpp>
[endsect] [endsect]
@ -2225,9 +2113,7 @@ Returns the result type of __erase_key__, given the sequence and key types.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/erase_key.hpp> #include <boost/fusion/algorithm/transformation/erase_key.hpp>
#include <boost/fusion/include/erase_key.hpp>
[endsect] [endsect]
@ -2265,9 +2151,7 @@ Returns the result type of __insert__, given the sequence, position iterator and
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/insert.hpp> #include <boost/fusion/algorithm/transformation/insert.hpp>
#include <boost/fusion/include/insert.hpp>
[endsect] [endsect]
@ -2305,9 +2189,7 @@ Returns the result type of __insert_range__, given the input sequence, position
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/insert_range.hpp> #include <boost/fusion/algorithm/transformation/insert_range.hpp>
#include <boost/fusion/include/insert_range.hpp>
[endsect] [endsect]
@ -2337,9 +2219,7 @@ Returns the result of joining 2 sequences, given the sequence types.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/join.hpp> #include <boost/fusion/algorithm/transformation/join.hpp>
#include <boost/fusion/include/join.hpp>
[endsect] [endsect]
@ -2371,9 +2251,7 @@ Zips sequences together to form a single sequence, whos members are tuples of th
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/transformation/zip.hpp> #include <boost/fusion/algorithm/transformation/zip.hpp>
#include <boost/fusion/include/zip.hpp>
[endsect] [endsect]
@ -2407,9 +2285,7 @@ Returns the result type of __pop_back__, given the input sequence type.
Constant. Constant.
[heading Header] [heading Header]
#include <boost/fusion/algorithm/tranformation/pop_back.hpp> #include <boost/fusion/algorithm/tranformation/pop_back.hpp>
#include <boost/fusion/include/pop_back.hpp>
[endsect] [endsect]
@ -2442,7 +2318,8 @@ Returns the result type of __pop_front__, given the input sequence type.
[heading Complexity] [heading Complexity]
Constant. Constant.
/algorithm/transformation/pop_front.hpp> [heading Header]
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
[endsect] [endsect]
@ -2477,7 +2354,8 @@ Returns the result type of __push_back__, given the types of the input sequence
[heading Complexity] [heading Complexity]
Constant. Constant.
/algorithm/transformation/push_back.hpp> [heading Header]
#include <boost/fusion/algorithm/transformation/push_back.hpp>
[endsect] [endsect]
@ -2512,7 +2390,8 @@ Returns the result type of __push_front__, given the types of the input sequence
[heading Complexity] [heading Complexity]
Constant. Constant.
/algorithm/transformation/push_front.hpp> [heading Header]
#include <boost/fusion/algorithm/transformation/push_front.hpp>
[endsect] [endsect]

View File

@ -1,25 +1,9 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Change log] [section Change log]
This section summarizes significant changes to the Fusion library. This section summarizes significant changes to the Fusion library.
* Sep 27, 2006: Added `boost::tuple` support. (Joel de Guzman) * Sep 27, 2006: Added `boost::tuple` support.
* Nov 17, 2006: Added `boost::variant` support. (Joel de Guzman) * Nov 17, 2006: Added `boost::variant` support.
* Feb 15, 2007: Added functional module. (Tobias Schwinger) * Feb 15, 2007: Added functional module.
* APRIL 2, 2007: Added struct adapter. (Joel de Guzman)
* May 8, 2007: Added associative struct adapter. (Dan Marsden)
* Dec 20, 2007: Removed `boost::variant` support. After thorough
investigation, I think now that the move to make variant a
fusion sequence is rather quirky. A variant will always
have a size==1 regardless of the number of types it can contain
and there's no way to know at compile time what it contains.
Iterating over its types is simply wrong. All these imply that
the variant is *not* a fusion sequence. (Joel de Guzman)
[endsect] [endsect]

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,6 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Extension] [section Extension]
[section:ext_full The Full Extension Mechanism] [section The Full Extension Mechanism]
The Fusion library is designed to be extensible, new sequences types can easily The Fusion library is designed to be extensible, new sequences types can easily
be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__ be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__
@ -59,7 +52,6 @@ tag type for operations involving our sequence. This is done by specializing
`traits::tag_of` for our sequence type. `traits::tag_of` for our sequence type.
#include <boost/fusion/support/tag_of_fwd.hpp> #include <boost/fusion/support/tag_of_fwd.hpp>
#include <boost/fusion/include/tag_of_fwd.hpp>
namespace boost { namespace fusion { namespace traits { namespace boost { namespace fusion { namespace traits {
template<> template<>
@ -74,8 +66,7 @@ that can be used in conjuction with `boost::enable_if` to provide tag
support for groups of related types. This feature is not necessary support for groups of related types. This feature is not necessary
for our sequence, but for an example see the code in: for our sequence, but for an example see the code in:
#include <boost/fusion/adapted/array/tag_of.hpp> #include <boost/fusion/sequence/adapted/mpl/tag_of.hpp>
#include <boost/fusion/include/tag_of.hpp>
[heading Designing a suitable iterator] [heading Designing a suitable iterator]
@ -386,96 +377,120 @@ for a variety of types.
[endsect] [endsect]
[section Sequence Facade] [section Macros]
[section BOOST_FUSION_ADAPT_STRUCT]
[heading Description] [heading Description]
The __sequence_facade__ template provides an intrusive mechanism for BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the
producing a conforming Fusion iterator. necessary boilerplate to make an arbitrary struct into a __random_access_sequence__.
[heading Synopsis] [heading Synopsis]
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_> BOOST_FUSION_ADAPT_STRUCT(
struct sequence_facade; struct_name
(member_type0, member_name0)
(member_type1, member_name1)
...
)
[heading Usage] [heading Semantics]
The user of __sequence_facade__ derives his sequence type from a specialization of __sequence_facade__ and passes the derived sequence type as the first template parameter. The second template parameter should be the traversal category of the sequence being implemented. The 3rd parameter should be set to `mpl::true_` if the sequence is a view. BOOST_FUSION_ADAPT_STRUCT(
struct_name,
(member_type0, member_name0)
(member_type1, member_name1)
...
)
The user must the implement the key expressions required by their sequence type. The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__. The sequence of `(member_typeN, member_nameN)`
pairs declare the type and names of each of the struct members that will be
part of the sequence.
[table Parameters The macro should be used at global scope, and `struct_name` should be the fully
[[Name][Description]] namespace qualified name of the struct to be converted.
[[`sequence`, `Seq`][A type derived from __sequence_facade__]]
[[`N`][An __mpl_integral_constant__]]
]
[table Key Expressions
[[Expression][Result]]
[[`sequence::template begin<Seq>::type`][The type of an iterator to the beginning of a sequence of type `Seq`]]
[[`sequence::template begin<Seq>::call(seq)`][An iterator to the beginning of sequence `seq`]]
[[`sequence::template end<Seq>::type`][The type of an iterator to the end of a sequence of type `Seq`]]
[[`sequence::template end<Seq>::call(seq)`][An iterator to the end of sequence `seq`]]
[[`sequence::template size<Seq>::type`][The size of a sequence of type `Seq` as an __mpl_integral_constant__]]
[[`sequence::template size<Seq>::call(seq)`][The size of sequence `seq`]]
[[`sequence::template at<Seq, N>::type`][The type of element `N` in a sequence of type `Seq`]]
[[`sequence::template at<Seq, N>::call(seq)`][Element `N` in sequence `seq`]]
[[`sequence::template value_at<Sequence, N>::type`][The type of the `N`th element in a sequence of type `Seq`]]
]
[heading Include]
#include <boost/fusion/sequence/sequence_facade.hpp>
#include <boost/fusion/include/sequence_facade.hpp>
[heading Example]
A full working example using __sequence_facade__ is provided in triple.cpp in the extension examples.
[endsect]
[section Iterator Facade]
[heading Description]
The __iterator_facade__ template provides an intrusive mechanism for
producing a conforming Fusion iterator.
[heading Synopsis]
template<typename Derived, typename TravesalTag>
struct iterator_facade;
[heading Usage]
The user of iterator_facade derives his iterator type from a specialization of iterator_facade and passes the derived iterator type as the first template parameter. The second template parameter should be the traversal category of the iterator being implemented.
The user must the implement the key expressions required by their iterator type.
[table Parameters
[[Name][Description]]
[[`iterator`, `It`, `It1`, `It2`][A type derived from __iterator_facade__]]
[[`N`][An __mpl_integral_constant__]]
]
[table Key Expressions
[[Expression][Result][Default]]
[[`iterator::template value_of<It>::type`][The element stored at iterator position `It`][None]]
[[`iterator::template deref<It>::type`][The type returned when dereferencing an iterator of type `It`][None]]
[[`iterator::template deref<It>::call(it)`][Dereferences iterator `it`][None]]
[[`iterator::template next<It>::type`][The type of the next element from `It`][None]]
[[`iterator::template next<It>::call(it)`][The next iterator after `it`][None]]
[[`iterator::template prior<It>::type`][The type of the next element from `It`][None]]
[[`iterator::template prior<It>::call(it)`][The next iterator after `it`][None]]
[[`iterator::template advance<It, N>::type`][The type of an iterator advanced `N` elements from `It`][Implemented in terms of `next` and `prior`]]
[[`iterator::template advance<It, N>::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]]
[[`iterator::template distance<It1, It2>::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]]
[[`iterator::template distance<It1, It2>::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]]
[[`iterator::template equal_to<It1, It2>::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type<It1, It2>::type`]]
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type<It1, It2>::type()`]]
]
[heading Header] [heading Header]
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/iterator/iterator_facade.hpp>
#include <boost/fusion/include/iterator_facade.hpp>
[heading Example] [heading Example]
A full working example using __iterator_facade__ is provided in triple.cpp in the extension examples. namespace demo
{
struct employee
{
std::string name;
int age;
};
}
// demo::employee is now a Fusion sequence
BOOST_FUSION_ADAPT_STRUCT(
demo::employee
(std::string, name)
(int, age))
[endsect]
[section BOOST_FUSION_ADAPT_ASSOC_STRUCT]
[heading Description]
BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a model of __random_access_sequence__
and __associative_sequence__.
[heading Synopsis]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
struct_name
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
)
[heading Semantics]
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
struct_name
(member_type0, member_name0, key_type0)
(member_type1, member_name1, key_type1)
...
)
The above macro generates the necessary code to adapt `struct_name`
as a model of __random_access_sequence__ and __associative_sequence__.
The sequence of `(member_typeN, member_nameN, key_typeN)`
triples declare the type, name and key type of each of the struct members
that will be part of the sequence.
The macro should be used at global scope, and `struct_name` should be the fully
namespace qualified name of the struct to be converted.
[heading Header]
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
[heading Example]
namespace demo
{
struct employee
{
std::string name;
int age;
};
}
namespace keys
{
struct name;
struct age;
}
// demo::employee is now a Fusion sequence
// It is also an associative sequence with
// keys keys::name and keys::age present.
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
demo::employee
(std::string, name, keys::name)
(int, age, keys::age))
[endsect]
[endsect] [endsect]

View File

@ -1,16 +1,10 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[section Functional] [section Functional]
Components to call functions and function objects and to make Fusion code Components to call functions and function objects and to make Fusion code
callable through a function object interface. callable through a function object interface.
/functional.hpp> [heading Header]
#include <boost/fusion/functional.hpp>
[heading Fused and unfused forms] [heading Fused and unfused forms]
@ -289,7 +283,8 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns [*Semantics]: Invokes `f` with the elements in `s` as arguments and returns
the result of the call expression. the result of the call expression.
/functional/invocation/invoke.hpp> [heading Header]
#include <boost/fusion/functional/invocation/invoke.hpp>
[heading Example] [heading Example]
__std_plus_doc__<int> add; __std_plus_doc__<int> add;
@ -352,7 +347,8 @@ implemented).
[*Semantics]: Invokes `f` with the elements in `s` as arguments. [*Semantics]: Invokes `f` with the elements in `s` as arguments.
/functional/invocation/invoke_procedure.hpp> [heading Header]
#include <boost/fusion/functional/invocation/invoke_procedure.hpp>
[heading Example] [heading Example]
__vector__<int,int> v(1,2); __vector__<int,int> v(1,2);
@ -409,7 +405,8 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the [*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the
result of the call expression. result of the call expression.
/functional/invocation/invoke_function_object.hpp> [heading Header]
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
[heading Example] [heading Example]
struct sub struct sub
@ -551,7 +548,8 @@ In case of the latter, a freestanding [^get_pointer] function must be
defined (Boost provides this function for [^std::auto_ptr] and defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__). __boost_shared_ptr_call__).
/functional/adapter/fused.hpp> [heading Header]
#include <boost/fusion/functional/adapter/fused.hpp>
[heading Synopsis] [heading Synopsis]
template <typename Function> template <typename Function>
@ -627,7 +625,8 @@ The target function must not be a pointer to a member object (dereferencing
such a pointer without returning anything does not make sense, so this case such a pointer without returning anything does not make sense, so this case
is not implemented). is not implemented).
/functional/adapter/fused_procedure.hpp> [heading Header]
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
[heading Synopsis] [heading Synopsis]
template <typename Function> template <typename Function>
@ -700,7 +699,8 @@ reference. Const qualification is preserved and propagated appropriately
target function object that is const or, if the target function object target function object that is const or, if the target function object
is held by value, the adapter is const). is held by value, the adapter is const).
/functional/adapter/fused_function_object.hpp> [heading Header]
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
[heading Synopsis] [heading Synopsis]
template <class Function> template <class Function>
@ -799,7 +799,8 @@ reference. Const qualification is preserved and propagated appropriately
the target function object is const - or, in case the target function the target function object is const - or, in case the target function
object is held by value, the adapter is const). object is held by value, the adapter is const).
/functional/adapter/unfused_generic.hpp> [heading Header]
#include <boost/fusion/functional/adapter/unfused_generic.hpp>
[heading Synopsis] [heading Synopsis]
template <class Function> template <class Function>
@ -906,7 +907,8 @@ reference. Const qualification is preserved and propagated appropriately
the target function object is const - or, in case the target function the target function object is const - or, in case the target function
object is held by value, the adapter is const). object is held by value, the adapter is const).
/functional/adapter/unfused_lvalue_args.hpp> [heading Header]
#include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
[heading Synopsis] [heading Synopsis]
template <class Function> template <class Function>
@ -987,7 +989,8 @@ reference. Const qualification is preserved and propagated appropriately
the target function object is const - or, in case the target function object the target function object is const - or, in case the target function object
is held by value, the adapter is const). is held by value, the adapter is const).
/functional/adapter/unfused_rvalue_args.hpp> [heading Header]
#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
[heading Synopsis] [heading Synopsis]
template <class Function> template <class Function>
@ -1078,7 +1081,8 @@ Therefore the adapter is always treated as if it was const. ]
non-reference elements, the element is copied only once - the call operator's non-reference elements, the element is copied only once - the call operator's
signature is optimized automatically to avoid by-value parameters.] signature is optimized automatically to avoid by-value parameters.]
/functional/adapter/unfused_typed.hpp> [heading Header]
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
[heading Synopsis] [heading Synopsis]
template <class Function, class Sequence> template <class Function, class Sequence>
@ -1227,7 +1231,6 @@ __element_conversion__ is applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused.hpp> #include <boost/fusion/functional/generation/make_fused.hpp>
#include <boost/fusion/include/make_fused.hpp>
[heading Example] [heading Example]
float sub(float a, float b) { return a - b; } float sub(float a, float b) { return a - b; }
@ -1276,7 +1279,6 @@ The usual __element_conversion__ applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused_procedure.hpp> #include <boost/fusion/functional/generation/make_fused_procedure.hpp>
#include <boost/fusion/include/make_fused_procedure.hpp>
[heading Example] [heading Example]
__vector__<int,int,int> v(1,2,3); __vector__<int,int,int> v(1,2,3);
@ -1319,7 +1321,6 @@ The usual __element_conversion__ is applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused_function_object.hpp> #include <boost/fusion/functional/generation/make_fused_function_object.hpp>
#include <boost/fusion/include/make_fused_function_object.hpp>
[heading Example] [heading Example]
struct sub struct sub
@ -1381,7 +1382,6 @@ The usual __element_conversion__ is applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_generic.hpp> #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
[heading Example] [heading Example]
struct bottles_song struct bottles_song
@ -1450,7 +1450,6 @@ The usual __element_conversion__ is applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp> #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
[heading Example] [heading Example]
struct fused_incrementer struct fused_incrementer
@ -1510,7 +1509,6 @@ The usual __element_conversion__ is applied to the target function.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp> #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Example] [heading Example]
struct sequence_printer struct sequence_printer
@ -1553,7 +1551,6 @@ Returns the result type of __make_fused__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused.hpp> #include <boost/fusion/functional/generation/make_fused.hpp>
#include <boost/fusion/include/make_fused.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of
@ -1578,7 +1575,6 @@ Returns the result type of __make_fused_procedure__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused_procedure.hpp> #include <boost/fusion/functional/generation/make_fused_procedure.hpp>
#include <boost/fusion/include/make_fused_procedure.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of
@ -1603,7 +1599,6 @@ Returns the result type of __make_fused_function_object__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_fused_function_object.hpp> #include <boost/fusion/functional/generation/make_fused_function_object.hpp>
#include <boost/fusion/include/make_fused_function_object.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of
@ -1628,7 +1623,6 @@ Returns the result type of __make_unfused_generic__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_generic.hpp> #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of
@ -1653,7 +1647,6 @@ Returns the result type of __make_unfused_lvalue_args__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp> #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of
@ -1678,7 +1671,6 @@ Returns the result type of __make_unfused_rvalue_args__.
[heading Header] [heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp> #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Synopsis] [heading Synopsis]
namespace result_of namespace result_of

View File

@ -1,10 +1,3 @@
[/==============================================================================
Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]
[library Fusion [library Fusion
[quickbook 1.3] [quickbook 1.3]
[version 2.0] [version 2.0]
@ -72,189 +65,189 @@
[def __pair__ [link fusion.support.pair `pair`]] [def __pair__ [link fusion.support.pair `pair`]]
[def __fusion_make_pair__ [link fusion.support.pair `make_pair`]] [def __fusion_make_pair__ [link fusion.support.pair `make_pair`]]
[def __iterator__ [link fusion.iterator Iterator]] [def __iterator__ [link fusion.iterators Iterator]]
[def __iterator_concepts__ [link fusion.iterator.concepts Iterator Concepts]] [def __iterator_concepts__ [link fusion.iterators.concepts Iterator Concepts]]
[def __forward_iterator__ [link fusion.iterator.concepts.forward_iterator Forward Iterator]] [def __forward_iterator__ [link fusion.iterators.concepts.forward_iterator Forward Iterator]]
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]] [def __bidirectional_iterator__ [link fusion.iterators.concepts.bidirectional_iterator Bidirectional Iterator]]
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]] [def __random_access_iterator__ [link fusion.iterators.concepts.random_access_iterator Random Access Iterator]]
[def __next__ [link fusion.iterator.functions.next `next`]] [def __next__ [link fusion.iterators.functions.next `next`]]
[def __prior__ [link fusion.iterator.functions.prior `prior`]] [def __prior__ [link fusion.iterators.functions.prior `prior`]]
[def __advance__ [link fusion.iterator.functions.advance `advance`]] [def __advance__ [link fusion.iterators.functions.advance `advance`]]
[def __advance_c__ [link fusion.iterator.functions.advance_c `advance_c`]] [def __advance_c__ [link fusion.iterators.functions.advance_c `advance_c`]]
[def __distance__ [link fusion.iterator.functions.distance `distance`]] [def __distance__ [link fusion.iterators.functions.distance `distance`]]
[def __deref__ [link fusion.iterator.functions.deref `deref`]] [def __deref__ [link fusion.iterators.functions.deref `deref`]]
[def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]] [def __result_of_next__ [link fusion.iterators.metafunctions.next `result_of::next`]]
[def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]] [def __result_of_prior__ [link fusion.iterators.metafunctions.prior `result_of::prior`]]
[def __result_of_equal_to__ [link fusion.iterator.metafunctions.equal_to `result_of::equal_to`]] [def __result_of_equal_to__ [link fusion.iterators.metafunctions.equal_to `result_of::equal_to`]]
[def __result_of_advance__ [link fusion.iterator.metafunctions.advance `result_of::advance`]] [def __result_of_advance__ [link fusion.iterators.metafunctions.advance `result_of::advance`]]
[def __result_of_advance_c__ [link fusion.iterator.metafunctions.advance_c `result_of::advance_c`]] [def __result_of_advance_c__ [link fusion.iterators.metafunctions.advance_c `result_of::advance_c`]]
[def __result_of_distance__ [link fusion.iterator.metafunctions.distance `result_of::distance`]] [def __result_of_distance__ [link fusion.iterators.metafunctions.distance `result_of::distance`]]
[def __result_of_deref__ [link fusion.iterator.metafunctions.deref `result_of::deref`]] [def __result_of_deref__ [link fusion.iterators.metafunctions.deref `result_of::deref`]]
[def __result_of_value_of__ [link fusion.iterator.metafunctions.value_of `result_of::value_of`]] [def __result_of_value_of__ [link fusion.iterators.metafunctions.value_of `result_of::value_of`]]
[def __value_of__ [link fusion.iterator.metafunctions.value_of `value_of`]] [def __value_of__ [link fusion.iterators.metafunctions.value_of `value_of`]]
[def __sequence__ [link fusion.sequence Sequence]] [def __sequence__ [link fusion.sequences Sequence]]
[def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]] [def __sequence_concepts__ [link fusion.sequences.concepts Sequence Concepts]]
[def __traversal_concept__ [link fusion.sequence.concepts.traversal Sequence Traversal Concept]] [def __traversal_concept__ [link fusion.sequences.concepts.traversal Sequence Traversal Concept]]
[def __associativity_concept__ [link fusion.sequence.concepts.associativity Sequence Associativity Concept]] [def __associativity_concept__ [link fusion.sequences.concepts.associativity Sequence Associativity Concept]]
[def __forward_sequence__ [link fusion.sequence.concepts.forward_sequence Forward Sequence]] [def __forward_sequence__ [link fusion.sequences.concepts.forward_sequence Forward Sequence]]
[def __bidirectional_sequence__ [link fusion.sequence.concepts.bidirectional_sequence Bidirectional Sequence]] [def __bidirectional_sequence__ [link fusion.sequences.concepts.bidirectional_sequence Bidirectional Sequence]]
[def __random_access_sequence__ [link fusion.sequence.concepts.random_access_sequence Random Access Sequence]] [def __random_access_sequence__ [link fusion.sequences.concepts.random_access_sequence Random Access Sequence]]
[def __associative_sequence__ [link fusion.sequence.concepts.associative_sequence Associative Sequence]] [def __associative_sequence__ [link fusion.sequences.concepts.associative_sequence Associative Sequence]]
[def __containers__ [link fusion.container Container]] [def __containers__ [link fusion.sequences.containers Containers]]
[def __vector__ [link fusion.container.vector `vector`]] [def __vector__ [link fusion.sequences.containers.vector `vector`]]
[def __cons__ [link fusion.container.cons `cons`]] [def __cons__ [link fusion.sequences.containers.cons `cons`]]
[def __list__ [link fusion.container.list `list`]] [def __list__ [link fusion.sequences.containers.list `list`]]
[def __set__ [link fusion.container.set `set`]] [def __set__ [link fusion.sequences.containers.set `set`]]
[def __map__ [link fusion.container.map `map`]] [def __map__ [link fusion.sequences.containers.map `map`]]
[def __view__ [link fusion.view View]] [def __view__ [link fusion.sequences.views View]]
[def __views__ [link fusion.view Views]] [def __views__ [link fusion.sequences.views Views]]
[def __single_view__ [link fusion.view.single_view `single_view`]] [def __single_view__ [link fusion.sequences.views.single_view `single_view`]]
[def __filter_view__ [link fusion.view.filter_view `filter_view`]] [def __filter_view__ [link fusion.sequences.views.filter_view `filter_view`]]
[def __iterator_range__ [link fusion.view.iterator_range `iterator_range`]] [def __iterator_range__ [link fusion.sequences.views.iterator_range `iterator_range`]]
[def __joint_view__ [link fusion.view.joint_view `joint_view`]] [def __joint_view__ [link fusion.sequences.views.joint_view `joint_view`]]
[def __transform_view__ [link fusion.view.transform_view `transform_view`]] [def __transform_view__ [link fusion.sequences.views.transform_view `transform_view`]]
[def __reverse_view__ [link fusion.view.reverse_view `reverse_view`]] [def __reverse_view__ [link fusion.sequences.views.reverse_view `reverse_view`]]
[def __zip_view__ [link fusion.view.zip_view `zip_view`]] [def __zip_view__ [link fusion.sequences.views.zip_view `zip_view`]]
[def __std_pair__ [link fusion.adapted.std__pair `std::pair`]] [def __std_pair__ [link fusion.sequences.adapted.std__pair `std::pair`]]
[def __boost_array__ [link fusion.adapted.boost__array `boost::array`]] [def __boost_array__ [link fusion.sequences.adapted.boost__array `boost::array`]]
[def __mpl_sequence__ [link fusion.adapted.mpl_sequence mpl sequence]] [def __mpl_sequence__ [link fusion.sequences.adapted.mpl_sequence mpl sequence]]
[def __intrinsic__ [link fusion.sequence.intrinsic Intrinsic]] [def __intrinsic__ [link fusion.sequences.intrinsics Intrinsic]]
[def __intrinsics__ [link fusion.sequence.intrinsic Intrinsics]] [def __intrinsics__ [link fusion.sequences.intrinsics Intrinsics]]
[def __begin__ [link fusion.sequence.intrinsic.functions.begin `begin`]] [def __begin__ [link fusion.sequences.intrinsics.functions.begin `begin`]]
[def __result_of_begin__ [link fusion.sequence.intrinsic.metafunctions.begin `result_of::begin`]] [def __result_of_begin__ [link fusion.sequences.intrinsics.metafunctions.begin `result_of::begin`]]
[def __end__ [link fusion.sequence.intrinsic.functions.end `end`]] [def __end__ [link fusion.sequences.intrinsics.functions.end `end`]]
[def __result_of_end__ [link fusion.sequence.intrinsic.metafunctions.end `result_of::end`]] [def __result_of_end__ [link fusion.sequences.intrinsics.metafunctions.end `result_of::end`]]
[def __size__ [link fusion.sequence.intrinsic.functions.size `size`]] [def __size__ [link fusion.sequences.intrinsics.functions.size `size`]]
[def __result_of_size__ [link fusion.sequence.intrinsic.metafunctions.size `result_of::size`]] [def __result_of_size__ [link fusion.sequences.intrinsics.metafunctions.size `result_of::size`]]
[def __empty__ [link fusion.sequence.intrinsic.functions.empty `empty`]] [def __empty__ [link fusion.sequences.intrinsics.functions.empty `empty`]]
[def __result_of_empty__ [link fusion.sequence.intrinsic.metafunctions.empty `result_of::empty`]] [def __result_of_empty__ [link fusion.sequences.intrinsics.metafunctions.empty `result_of::empty`]]
[def __front__ [link fusion.sequence.intrinsic.functions.front `front`]] [def __front__ [link fusion.sequences.intrinsics.functions.front `front`]]
[def __result_of_front__ [link fusion.sequence.intrinsic.metafunctions.front `result_of::front`]] [def __result_of_front__ [link fusion.sequences.intrinsics.metafunctions.front `result_of::front`]]
[def __back__ [link fusion.sequence.intrinsic.functions.back `back`]] [def __back__ [link fusion.sequences.intrinsics.functions.back `back`]]
[def __result_of_back__ [link fusion.sequence.intrinsic.metafunctions.back `result_of::back`]] [def __result_of_back__ [link fusion.sequences.intrinsics.metafunctions.back `result_of::back`]]
[def __at__ [link fusion.sequence.intrinsic.functions.at `at`]] [def __at__ [link fusion.sequences.intrinsics.functions.at `at`]]
[def __result_of_at__ [link fusion.sequence.intrinsic.metafunctions.at `result_of::at`]] [def __result_of_at__ [link fusion.sequences.intrinsics.metafunctions.at `result_of::at`]]
[def __at_c__ [link fusion.sequence.intrinsic.functions.at_c `at_c`]] [def __at_c__ [link fusion.sequences.intrinsics.functions.at_c `at_c`]]
[def __result_of_at_c__ [link fusion.sequence.intrinsic.metafunctions.at_c `result_of::at_c`]] [def __result_of_at_c__ [link fusion.sequences.intrinsics.metafunctions.at_c `result_of::at_c`]]
[def __at_key__ [link fusion.sequence.intrinsic.functions.at_key `at_key`]] [def __at_key__ [link fusion.sequences.intrinsics.functions.at_key `at_key`]]
[def __result_of_at_key__ [link fusion.sequence.intrinsic.metafunctions.at_key `result_of::at_key`]] [def __result_of_at_key__ [link fusion.sequences.intrinsics.metafunctions.at_key `result_of::at_key`]]
[def __has_key__ [link fusion.sequence.intrinsic.functions.has_key `has_key`]] [def __has_key__ [link fusion.sequences.intrinsics.functions.has_key `has_key`]]
[def __result_of_has_key__ [link fusion.sequence.intrinsic.metafunctions.has_key `result_of::has_key`]] [def __result_of_has_key__ [link fusion.sequences.intrinsics.metafunctions.has_key `result_of::has_key`]]
[def __value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `value_at_key`]] [def __value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `value_at_key`]]
[def __result_of_value_at__ [link fusion.sequence.intrinsic.metafunctions.value_at `result_of::value_at`]] [def __result_of_value_at__ [link fusion.sequences.intrinsics.metafunctions.value_at `result_of::value_at`]]
[def __result_of_value_at_c__ [link fusion.sequence.intrinsic.metafunctions.value_at_c `result_of::value_at_c`]] [def __result_of_value_at_c__ [link fusion.sequences.intrinsics.metafunctions.value_at_c `result_of::value_at_c`]]
[def __result_of_value_at_key__ [link fusion.sequence.intrinsic.metafunctions.value_at_key `result_of::value_at_key`]] [def __result_of_value_at_key__ [link fusion.sequences.intrinsics.metafunctions.value_at_key `result_of::value_at_key`]]
[def __conversion__ [link fusion.container.conversion.functions Conversion]] [def __conversion__ [link fusion.sequences.conversion.functions Conversion]]
[def __result_of_conversion__ [link fusion.container.conversion.metafunctions Conversion Metafunctions]] [def __result_of_conversion__ [link fusion.sequences.conversion.metafunctions Conversion Metafunctions]]
[def __as_vector__ [link fusion.container.conversion.functions.as_vector `as_vector`]] [def __as_vector__ [link fusion.sequences.conversion.functions.as_vector `as_vector`]]
[def __result_of_as_vector__ [link fusion.container.conversion.metafunctions.as_vector `result_of::as_vector`]] [def __result_of_as_vector__ [link fusion.sequences.conversion.metafunctions.as_vector `result_of::as_vector`]]
[def __as_list__ [link fusion.container.conversion.functions.as_list `as_list`]] [def __as_list__ [link fusion.sequences.conversion.functions.as_list `as_list`]]
[def __result_of_as_list__ [link fusion.container.conversion.metafunctions.as_list `result_of::as_list`]] [def __result_of_as_list__ [link fusion.sequences.conversion.metafunctions.as_list `result_of::as_list`]]
[def __as_set__ [link fusion.container.conversion.functions.as_set `as_set`]] [def __as_set__ [link fusion.sequences.conversion.functions.as_set `as_set`]]
[def __result_of_as_set__ [link fusion.container.conversion.metafunctions.as_set `result_of::as_set`]] [def __result_of_as_set__ [link fusion.sequences.conversion.metafunctions.as_set `result_of::as_set`]]
[def __as_map__ [link fusion.container.conversion.functions.as_map `as_map`]] [def __as_map__ [link fusion.sequences.conversion.functions.as_map `as_map`]]
[def __result_of_as_map__ [link fusion.container.conversion.metafunctions.as_map `result_of::as_map`]] [def __result_of_as_map__ [link fusion.sequences.conversion.metafunctions.as_map `result_of::as_map`]]
[def __generation__ [link fusion.container.generation.functions Generation]] [def __generation__ [link fusion.sequences.generation.functions Generation]]
[def __result_of_generation__ [link fusion.container.generation.metafunctions Generation Metafunctions]] [def __result_of_generation__ [link fusion.sequences.generation.metafunctions Generation Metafunctions]]
[def __make_vector__ [link fusion.container.generation.functions.make_vector `make_vector`]] [def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
[def __result_of_make_vector__ [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]] [def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
[def __vector_tie__ [link fusion.container.generation.functions.vector_tie `vector_tie`]] [def __vector_tie__ [link fusion.sequences.generation.functions.vector_tie `vector_tie`]]
[def __map_tie__ [link fusion.container.generation.functions.vector_tie `map_tie`]] [def __map_tie__ [link fusion.sequences.generation.functions.vector_tie `map_tie`]]
[def __result_of_vector_tie__ [link fusion.container.generation.metafunctions.vector_tie `result_of::vector_tie`]] [def __result_of_vector_tie__ [link fusion.sequences.generation.metafunctions.vector_tie `result_of::vector_tie`]]
[def __make_vector__ [link fusion.container.generation.functions.make_vector `make_vector`]] [def __make_vector__ [link fusion.sequences.generation.functions.make_vector `make_vector`]]
[def __result_of_make_vector__ [link fusion.container.generation.metafunctions.make_vector `result_of::make_vector`]] [def __result_of_make_vector__ [link fusion.sequences.generation.metafunctions.make_vector `result_of::make_vector`]]
[def __make_cons__ [link fusion.container.generation.functions.make_cons `make_cons`]] [def __make_cons__ [link fusion.sequences.generation.functions.make_cons `make_cons`]]
[def __result_of_make_cons__ [link fusion.container.generation.metafunctions.make_cons `result_of::make_cons`]] [def __result_of_make_cons__ [link fusion.sequences.generation.metafunctions.make_cons `result_of::make_cons`]]
[def __make_list__ [link fusion.container.generation.functions.make_list `make_list`]] [def __make_list__ [link fusion.sequences.generation.functions.make_list `make_list`]]
[def __result_of_make_list__ [link fusion.container.generation.metafunctions.make_list `result_of::make_list`]] [def __result_of_make_list__ [link fusion.sequences.generation.metafunctions.make_list `result_of::make_list`]]
[def __make_set__ [link fusion.container.generation.functions.make_set `make_set`]] [def __make_set__ [link fusion.sequences.generation.functions.make_set `make_set`]]
[def __result_of_make_set__ [link fusion.container.generation.metafunctions.make_set `result_of::make_set`]] [def __result_of_make_set__ [link fusion.sequences.generation.metafunctions.make_set `result_of::make_set`]]
[def __make_map__ [link fusion.container.generation.functions.make_map `make_map`]] [def __make_map__ [link fusion.sequences.generation.functions.make_map `make_map`]]
[def __result_of_make_map__ [link fusion.container.generation.metafunctions.make_map `result_of::make_map`]] [def __result_of_make_map__ [link fusion.sequences.generation.metafunctions.make_map `result_of::make_map`]]
[def __list_tie__ [link fusion.container.generation.functions.list_tie `list_tie`]] [def __list_tie__ [link fusion.sequences.generation.functions.list_tie `list_tie`]]
[def __result_of_list_tie__ [link fusion.container.generation.metafunctions.list_tie `result_of::list_tie`]] [def __result_of_list_tie__ [link fusion.sequences.generation.metafunctions.list_tie `result_of::list_tie`]]
[def __out__ [link fusion.sequence.operator.i_o.out out]] [def __out__ [link fusion.sequences.operators.i_o.out out]]
[def __in__ [link fusion.sequence.operator.i_o.in in]] [def __in__ [link fusion.sequences.operators.i_o.in in]]
[def __eq__ [link fusion.sequence.operator.comparison.equal equal]] [def __eq__ [link fusion.sequences.operators.comparison.equal equal]]
[def __neq__ [link fusion.sequence.operator.comparison.not_equal not equal]] [def __neq__ [link fusion.sequences.operators.comparison.not_equal not equal]]
[def __lt__ [link fusion.sequence.operator.comparison.less_than less than]] [def __lt__ [link fusion.sequences.operators.comparison.less_than less than]]
[def __lte__ [link fusion.sequence.operator.comparison.less_than_equal less than equal]] [def __lte__ [link fusion.sequences.operators.comparison.less_than_equal less than equal]]
[def __gt__ [link fusion.sequence.operator.comparison.greater_than greater than]] [def __gt__ [link fusion.sequences.operators.comparison.greater_than greater than]]
[def __gte__ [link fusion.sequence.operator.comparison.greater_than_equal greater than equal]] [def __gte__ [link fusion.sequences.operators.comparison.greater_than_equal greater than equal]]
[def __algorithm__ [link fusion.algorithm Algorithm]] [def __algorithm__ [link fusion.algorithms Algorithm]]
[def __algorithms__ [link fusion.algorithm Algorithms]] [def __algorithms__ [link fusion.algorithms Algorithms]]
[def __fold__ [link fusion.algorithm.iteration.functions.fold `fold`]] [def __fold__ [link fusion.algorithms.iteration.functions.fold `fold`]]
[def __result_of_fold__ [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]] [def __result_of_fold__ [link fusion.algorithms.iteration.metafunctions.fold `result_of::fold`]]
[def __accumulate__ [link fusion.algorithm.iteration.functions.accumulate `accumulate`]] [def __accumulate__ [link fusion.algorithms.iteration.functions.accumulate `accumulate`]]
[def __result_of_accumulate__ [link fusion.algorithm.iteration.metafunctions.accumulate `result_of::accumulate`]] [def __result_of_accumulate__ [link fusion.algorithms.iteration.metafunctions.accumulate `result_of::accumulate`]]
[def __for_each__ [link fusion.algorithm.iteration.functions.for_each `for_each`]] [def __for_each__ [link fusion.algorithms.iteration.functions.for_each `for_each`]]
[def __result_of_for_each__ [link fusion.algorithm.iteration.metafunctions.for_each `result_of::for_each`]] [def __result_of_for_each__ [link fusion.algorithms.iteration.metafunctions.for_each `result_of::for_each`]]
[def __any__ [link fusion.algorithm.query.functions.any `any`]] [def __any__ [link fusion.algorithms.query.functions.any `any`]]
[def __result_of_any__ [link fusion.algorithm.query.metafunctions.any `result_of::any`]] [def __result_of_any__ [link fusion.algorithms.query.metafunctions.any `result_of::any`]]
[def __all__ [link fusion.algorithm.query.functions.all `all`]] [def __all__ [link fusion.algorithms.query.functions.all `all`]]
[def __result_of_all__ [link fusion.algorithm.query.metafunctions.all `result_of::all`]] [def __result_of_all__ [link fusion.algorithms.query.metafunctions.all `result_of::all`]]
[def __none__ [link fusion.algorithm.query.functions.none `none`]] [def __none__ [link fusion.algorithms.query.functions.none `none`]]
[def __result_of_none__ [link fusion.algorithm.query.metafunctions.none `result_of::none`]] [def __result_of_none__ [link fusion.algorithms.query.metafunctions.none `result_of::none`]]
[def __find__ [link fusion.algorithm.query.functions.find `find`]] [def __find__ [link fusion.algorithms.query.functions.find `find`]]
[def __result_of_find__ [link fusion.algorithm.query.metafunctions.find `result_of::find`]] [def __result_of_find__ [link fusion.algorithms.query.metafunctions.find `result_of::find`]]
[def __find_if__ [link fusion.algorithm.query.functions.find_if `find_if`]] [def __find_if__ [link fusion.algorithms.query.functions.find_if `find_if`]]
[def __result_of_find_if__ [link fusion.algorithm.query.metafunctions.find_if `result_of::find_if`]] [def __result_of_find_if__ [link fusion.algorithms.query.metafunctions.find_if `result_of::find_if`]]
[def __count__ [link fusion.algorithm.query.functions.count `count`]] [def __count__ [link fusion.algorithms.query.functions.count `count`]]
[def __result_of_count__ [link fusion.algorithm.query.metafunctions.count `result_of::count`]] [def __result_of_count__ [link fusion.algorithms.query.metafunctions.count `result_of::count`]]
[def __count_if__ [link fusion.algorithm.query.functions.count_if `count_if`]] [def __count_if__ [link fusion.algorithms.query.functions.count_if `count_if`]]
[def __result_of_count_if__ [link fusion.algorithm.query.metafunctions.count_if `result_of::count_if`]] [def __result_of_count_if__ [link fusion.algorithms.query.metafunctions.count_if `result_of::count_if`]]
[def __filter__ [link fusion.algorithm.transformation.functions.filter `filter`]] [def __filter__ [link fusion.algorithms.transformation.functions.filter `filter`]]
[def __result_of_filter__ [link fusion.algorithm.transformation.metafunctions.filter `result_of::filter`]] [def __result_of_filter__ [link fusion.algorithms.transformation.metafunctions.filter `result_of::filter`]]
[def __filter_if__ [link fusion.algorithm.transformation.functions.filter_if `filter_if`]] [def __filter_if__ [link fusion.algorithms.transformation.functions.filter_if `filter_if`]]
[def __result_of_filter_if__ [link fusion.algorithm.transformation.metafunctions.filter_if `result_of::filter_if`]] [def __result_of_filter_if__ [link fusion.algorithms.transformation.metafunctions.filter_if `result_of::filter_if`]]
[def __transform__ [link fusion.algorithm.transformation.functions.transform `transform`]] [def __transform__ [link fusion.algorithms.transformation.functions.transform `transform`]]
[def __result_of_transform__ [link fusion.algorithm.transformation.metafunctions.transform `result_of::transform`]] [def __result_of_transform__ [link fusion.algorithms.transformation.metafunctions.transform `result_of::transform`]]
[def __replace__ [link fusion.algorithm.transformation.functions.replace `replace`]] [def __replace__ [link fusion.algorithms.transformation.functions.replace `replace`]]
[def __result_of_replace__ [link fusion.algorithm.transformation.metafunctions.replace `result_of::replace`]] [def __result_of_replace__ [link fusion.algorithms.transformation.metafunctions.replace `result_of::replace`]]
[def __replace_if__ [link fusion.algorithm.transformation.functions.replace_if `replace_if`]] [def __replace_if__ [link fusion.algorithms.transformation.functions.replace_if `replace_if`]]
[def __result_of_replace_if__ [link fusion.algorithm.transformation.metafunctions.replace_if `result_of::replace_if`]] [def __result_of_replace_if__ [link fusion.algorithms.transformation.metafunctions.replace_if `result_of::replace_if`]]
[def __remove__ [link fusion.algorithm.transformation.functions.remove `remove`]] [def __remove__ [link fusion.algorithms.transformation.functions.remove `remove`]]
[def __result_of_remove__ [link fusion.algorithm.transformation.metafunctions.remove `result_of::remove`]] [def __result_of_remove__ [link fusion.algorithms.transformation.metafunctions.remove `result_of::remove`]]
[def __remove_if__ [link fusion.algorithm.transformation.functions.remove_if `remove_if`]] [def __remove_if__ [link fusion.algorithms.transformation.functions.remove_if `remove_if`]]
[def __result_of_remove_if__ [link fusion.algorithm.transformation.metafunctions.remove_if `result_of::remove_if`]] [def __result_of_remove_if__ [link fusion.algorithms.transformation.metafunctions.remove_if `result_of::remove_if`]]
[def __reverse__ [link fusion.algorithm.transformation.functions.reverse `reverse`]] [def __reverse__ [link fusion.algorithms.transformation.functions.reverse `reverse`]]
[def __result_of_reverse__ [link fusion.algorithm.transformation.metafunctions.reverse `result_of::reverse`]] [def __result_of_reverse__ [link fusion.algorithms.transformation.metafunctions.reverse `result_of::reverse`]]
[def __clear__ [link fusion.algorithm.transformation.functions.clear `clear`]] [def __clear__ [link fusion.algorithms.transformation.functions.clear `clear`]]
[def __result_of_clear__ [link fusion.algorithm.transformation.metafunctions.clear `result_of::clear`]] [def __result_of_clear__ [link fusion.algorithms.transformation.metafunctions.clear `result_of::clear`]]
[def __erase__ [link fusion.algorithm.transformation.functions.erase `erase`]] [def __erase__ [link fusion.algorithms.transformation.functions.erase `erase`]]
[def __result_of_erase__ [link fusion.algorithm.transformation.metafunctions.erase `result_of::erase`]] [def __result_of_erase__ [link fusion.algorithms.transformation.metafunctions.erase `result_of::erase`]]
[def __erase_key__ [link fusion.algorithm.transformation.functions.erase_key `erase_key`]] [def __erase_key__ [link fusion.algorithms.transformation.functions.erase_key `erase_key`]]
[def __result_of_erase_key__ [link fusion.algorithm.transformation.metafunctions.erase_key `result_of::erase_key`]] [def __result_of_erase_key__ [link fusion.algorithms.transformation.metafunctions.erase_key `result_of::erase_key`]]
[def __insert__ [link fusion.algorithm.transformation.functions.insert `insert`]] [def __insert__ [link fusion.algorithms.transformation.functions.insert `insert`]]
[def __result_of_insert__ [link fusion.algorithm.transformation.metafunctions.insert `result_of::insert`]] [def __result_of_insert__ [link fusion.algorithms.transformation.metafunctions.insert `result_of::insert`]]
[def __insert_range__ [link fusion.algorithm.transformation.functions.insert_range `insert_range`]] [def __insert_range__ [link fusion.algorithms.transformation.functions.insert_range `insert_range`]]
[def __result_of_insert_range__ [link fusion.algorithm.transformation.metafunctions.insert_range `result_of::insert_range`]] [def __result_of_insert_range__ [link fusion.algorithms.transformation.metafunctions.insert_range `result_of::insert_range`]]
[def __join__ [link fusion.algorithm.transformation.functions.join `join`]] [def __join__ [link fusion.algorithms.transformation.functions.join `join`]]
[def __result_of_join__ [link fusion.algorithm.transformation.metafunctions.join `result_of::join`]] [def __result_of_join__ [link fusion.algorithms.transformation.metafunctions.join `result_of::join`]]
[def __zip__ [link fusion.algorithm.transformation.functions.zip `zip`]] [def __zip__ [link fusion.algorithms.transformation.functions.zip `zip`]]
[def __result_of_zip__ [link fusion.algorithm.transformation.metafunctions.zip `result_of::zip`]] [def __result_of_zip__ [link fusion.algorithms.transformation.metafunctions.zip `result_of::zip`]]
[def __pop_back__ [link fusion.algorithm.transformation.functions.pop_back `pop_back`]] [def __pop_back__ [link fusion.algorithms.transformation.functions.pop_back `pop_back`]]
[def __result_of_pop_back__ [link fusion.algorithm.transformation.metafunctions.pop_back `result_of::pop_back`]] [def __result_of_pop_back__ [link fusion.algorithms.transformation.metafunctions.pop_back `result_of::pop_back`]]
[def __pop_front__ [link fusion.algorithm.transformation.functions.pop_front `pop_front`]] [def __pop_front__ [link fusion.algorithms.transformation.functions.pop_front `pop_front`]]
[def __result_of_pop_front__ [link fusion.algorithm.transformation.metafunctions.pop_front `result_of::pop_front`]] [def __result_of_pop_front__ [link fusion.algorithms.transformation.metafunctions.pop_front `result_of::pop_front`]]
[def __push_back__ [link fusion.algorithm.transformation.functions.push_back `push_back`]] [def __push_back__ [link fusion.algorithms.transformation.functions.push_back `push_back`]]
[def __result_of_push_back__ [link fusion.algorithm.transformation.metafunctions.push_back `result_of::push_back`]] [def __result_of_push_back__ [link fusion.algorithms.transformation.metafunctions.push_back `result_of::push_back`]]
[def __push_front__ [link fusion.algorithm.transformation.functions.push_front `push_front`]] [def __push_front__ [link fusion.algorithms.transformation.functions.push_front `push_front`]]
[def __result_of_push_front__ [link fusion.algorithm.transformation.metafunctions.push_front `result_of::push_front`]] [def __result_of_push_front__ [link fusion.algorithms.transformation.metafunctions.push_front `result_of::push_front`]]
[def __tr1_tuple_pair__ [link fusion.tuple.pairs `TR1 and std::pair`]] [def __tr1_tuple_pair__ [link fusion.tuples.pairs `TR1 and std::pair`]]
[def __tuple_get__ [link fusion.tuple.class_template_tuple.element_access `get`]] [def __tuple_get__ [link fusion.tuples.class_template_tuple.element_access `get`]]
[def __callable_obj__ [link fusion.functional.concepts.callable Callable Object]] [def __callable_obj__ [link fusion.functional.concepts.callable Callable Object]]
[def __def_callable_obj__ [link fusion.functional.concepts.def_callable Deferred Callable Object]] [def __def_callable_obj__ [link fusion.functional.concepts.def_callable Deferred Callable Object]]
@ -297,21 +290,16 @@
[def __quick_start__ [link fusion.quick_start Quick Start]] [def __quick_start__ [link fusion.quick_start Quick Start]]
[def __organization__ [link fusion.organization Orgainization]] [def __organization__ [link fusion.organization Orgainization]]
[def __extension__ [link fusion.extension Extension]] [def __extension__ [link fusion.extension Extension]]
[def __sequence_facade__ [link fusion.extension.sequence_facade `sequence_facade`]]
[def __iterator_facade__ [link fusion.extension.iterator_facade `iterator_facade`]]
[include preface.qbk] [include preface.qbk]
[include introduction.qbk] [include introduction.qbk]
[include quick_start.qbk] [include quick_start.qbk]
[include organization.qbk] [include organization.qbk]
[include support.qbk] [include support.qbk]
[include iterator.qbk] [include iterators.qbk]
[include sequence.qbk] [include sequences.qbk]
[include container.qbk] [include algorithms.qbk]
[include view.qbk] [include tuples.qbk]
[include adapted.qbk]
[include algorithm.qbk]
[include tuple.qbk]
[include extension.qbk] [include extension.qbk]
[include functional.qbk] [include functional.qbk]
[include notes.qbk] [include notes.qbk]

511
doc/html/boostbook.css Executable file
View File

@ -0,0 +1,511 @@
/*=============================================================================
Copyright (c) 2004 Joel de Guzman
http://spirit.sourceforge.net/
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================*/
/*=============================================================================
Body defaults
=============================================================================*/
body
{
margin: 1em;
font-family: sans-serif;
}
/*=============================================================================
Paragraphs
=============================================================================*/
p
{
text-align: left;
font-size: 10pt;
line-height: 1.15;
}
/*=============================================================================
Program listings
=============================================================================*/
/* Code on paragraphs */
p tt.computeroutput
{
font-size: 9pt;
}
pre.synopsis
{
font-size: 90%;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
.programlisting,
.screen
{
font-size: 9pt;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
/* Program listings in tables don't get borders */
td .programlisting,
td .screen
{
margin: 0pc 0pc 0pc 0pc;
padding: 0pc 0pc 0pc 0pc;
}
/*=============================================================================
Headings
=============================================================================*/
h1, h2, h3, h4, h5, h6
{
text-align: left;
margin: 1em 0em 0.5em 0em;
font-weight: bold;
}
h1 { font: 140% }
h2 { font: bold 140% }
h3 { font: bold 130% }
h4 { font: bold 120% }
h5 { font: italic 110% }
h6 { font: italic 100% }
/* Top page titles */
title,
h1.title,
h2.title
h3.title,
h4.title,
h5.title,
h6.title,
.refentrytitle
{
font-weight: bold;
margin-bottom: 1pc;
}
h1.title { font-size: 140% }
h2.title { font-size: 140% }
h3.title { font-size: 130% }
h4.title { font-size: 120% }
h5.title { font-size: 110% }
h6.title { font-size: 100% }
.section h1
{
margin: 0em 0em 0.5em 0em;
font-size: 140%;
}
.section h2 { font-size: 140% }
.section h3 { font-size: 130% }
.section h4 { font-size: 120% }
.section h5 { font-size: 110% }
.section h6 { font-size: 100% }
/* Code on titles */
h1 tt.computeroutput { font-size: 140% }
h2 tt.computeroutput { font-size: 140% }
h3 tt.computeroutput { font-size: 130% }
h4 tt.computeroutput { font-size: 120% }
h5 tt.computeroutput { font-size: 110% }
h6 tt.computeroutput { font-size: 100% }
/*=============================================================================
Author
=============================================================================*/
h3.author
{
font-size: 100%
}
/*=============================================================================
Lists
=============================================================================*/
li
{
font-size: 10pt;
line-height: 1.3;
}
/* Unordered lists */
ul
{
text-align: left;
}
/* Ordered lists */
ol
{
text-align: left;
}
/*=============================================================================
Links
=============================================================================*/
a
{
text-decoration: none; /* no underline */
}
a:hover
{
text-decoration: underline;
}
/*=============================================================================
Spirit style navigation
=============================================================================*/
.spirit-nav
{
text-align: right;
}
.spirit-nav a
{
color: white;
padding-left: 0.5em;
}
.spirit-nav img
{
border-width: 0px;
}
/*=============================================================================
Table of contents
=============================================================================*/
.toc
{
margin: 1pc 4% 0pc 4%;
padding: 0.1pc 1pc 0.1pc 1pc;
font-size: 80%;
line-height: 1.15;
}
.boost-toc
{
float: right;
padding: 0.5pc;
}
/*=============================================================================
Tables
=============================================================================*/
.table-title,
div.table p.title
{
margin-left: 4%;
padding-right: 0.5em;
padding-left: 0.5em;
}
.informaltable table,
.table table
{
width: 92%;
margin-left: 4%;
margin-right: 4%;
}
div.informaltable table,
div.table table
{
padding: 4px;
}
/* Table Cells */
div.informaltable table tr td,
div.table table tr td
{
padding: 0.5em;
text-align: left;
font-size: 9pt;
}
div.informaltable table tr th,
div.table table tr th
{
padding: 0.5em 0.5em 0.5em 0.5em;
border: 1pt solid white;
font-size: 80%;
}
/*=============================================================================
Blurbs
=============================================================================*/
div.note,
div.tip,
div.important,
div.caution,
div.warning,
p.blurb
{
font-size: 9pt; /* A little bit smaller than the main text */
line-height: 1.2;
display: block;
margin: 1pc 4% 0pc 4%;
padding: 0.5pc 0.5pc 0.5pc 0.5pc;
}
p.blurb img
{
padding: 1pt;
}
/*=============================================================================
Variable Lists
=============================================================================*/
/* Make the terms in definition lists bold */
div.variablelist dl dt,
span.term
{
font-weight: bold;
font-size: 10pt;
}
div.variablelist table tbody tr td
{
text-align: left;
vertical-align: top;
padding: 0em 2em 0em 0em;
font-size: 10pt;
margin: 0em 0em 0.5em 0em;
line-height: 1;
}
div.variablelist dl dt
{
margin-bottom: 0.2em;
}
div.variablelist dl dd
{
margin: 0em 0em 0.5em 2em;
font-size: 10pt;
}
div.variablelist table tbody tr td p,
div.variablelist dl dd p
{
margin: 0em 0em 0.5em 0em;
line-height: 1;
}
/*=============================================================================
Misc
=============================================================================*/
/* Title of books and articles in bibliographies */
span.title
{
font-style: italic;
}
span.underline
{
text-decoration: underline;
}
span.strikethrough
{
text-decoration: line-through;
}
/* Copyright, Legal Notice */
div div.legalnotice p
{
text-align: left
}
/*=============================================================================
Colors
=============================================================================*/
@media screen
{
/* Links */
a
{
color: #005a9c;
}
a:visited
{
color: #9c5a9c;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
{
text-decoration: none; /* no underline */
color: #000000;
}
/* Syntax Highlighting */
.keyword { color: #0000AA; }
.identifier { color: #000000; }
.special { color: #707070; }
.preprocessor { color: #402080; }
.char { color: teal; }
.comment { color: #800000; }
.string { color: teal; }
.number { color: teal; }
.white_bkd { background-color: #FFFFFF; }
.dk_grey_bkd { background-color: #999999; }
/* Copyright, Legal Notice */
.copyright
{
color: #666666;
font-size: small;
}
div div.legalnotice p
{
color: #666666;
}
/* Program listing */
pre.synopsis
{
border: 1px solid #DCDCDC;
}
.programlisting,
.screen
{
border: 1px solid #DCDCDC;
}
td .programlisting,
td .screen
{
border: 0px solid #DCDCDC;
}
/* Blurbs */
div.note,
div.tip,
div.important,
div.caution,
div.warning,
p.blurb
{
border: 1px solid #DCDCDC;
}
/* Table of contents */
.toc
{
border: 1px solid #DCDCDC;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid #DCDCDC;
}
div.informaltable table tr th,
div.table table tr th
{
background-color: #F0F0F0;
border: 1px solid #DCDCDC;
}
/* Misc */
span.highlight
{
color: #00A000;
}
}
@media print
{
/* Links */
a
{
color: black;
}
a:visited
{
color: black;
}
.spirit-nav
{
display: none;
}
/* Program listing */
pre.synopsis
{
border: 1px solid gray;
}
.programlisting,
.screen
{
border: 1px solid gray;
}
td .programlisting,
td .screen
{
border: 0px solid #DCDCDC;
}
/* Table of contents */
.toc
{
border: 1px solid gray;
}
.informaltable table,
.table table
{
border: 1px solid gray;
border-collapse: collapse;
}
/* Tables */
div.informaltable table tr td,
div.table table tr td
{
border: 1px solid gray;
}
div.informaltable table tr th,
div.table table tr th
{
border: 1px solid gray;
}
/* Misc */
span.highlight
{
font-weight: bold;
}
}

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Acknowledgements</title> <title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
@ -42,12 +42,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -1,82 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Adapted</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="view/reverse_view.html" title="reverse_view">
<link rel="next" href="adapted/std__pair.html" title="std::pair">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="view/reverse_view.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/std__pair.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.adapted"></a><a href="adapted.html" title="Adapted">Adapted</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="adapted/std__pair.html">std::pair</a></span></dt>
<dt><span class="section"><a href="adapted/mpl_sequence.html">mpl sequence</a></span></dt>
<dt><span class="section"><a href="adapted/boost__array.html">boost::array</a></span></dt>
<dt><span class="section"><a href="adapted/boost__tuple.html">boost::tuple</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_struct.html"> BOOST_FUSION_ADAPT_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc.html"> BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></span></dt>
</dl></div>
<p>
Fusion provides a couple of adapters for other sequences such as <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a> sequences,
and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>. These adapters are written using Fusion's
non-intrusive <a href="extension.html" title="Extension">Extension</a> mechanism.
If you wish to use these sequences with fusion, simply include the necessary
files and they will be regarded as first-class, fully conforming fusion sequences
<sup>[<a name="id573780" href="#ftn.id573780">13</a>]</sup>
.
</p>
<p>
Fusion also provides various schemes to make it easy for the user to adapt
various data structures, non-intrusively, as full fledged Fusion sequences.
</p>
<a name="fusion.adapted.header"></a><h3>
<a name="id573828"></a>
<a href="adapted.html#fusion.adapted.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<div class="footnotes">
<br><hr width="100" align="left">
<div class="footnote"><p><sup>[<a name="ftn.id573780" href="#id573780">13</a>] </sup>
Fusion sequences may also be adapted as fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences (see <a href="sequence/intrinsic.html" title="Intrinsic">Intrinsics</a>).
That way, we can have 2-way adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
and Fusion
</p></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="view/reverse_view.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/std__pair.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,123 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> BOOST_FUSION_ADAPT_ASSOC_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_struct.html" title=" BOOST_FUSION_ADAPT_STRUCT">
<link rel="next" href="../algorithm.html" title="Algorithm">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapt_struct.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc"></a><a href="adapt_assoc.html" title=" BOOST_FUSION_ADAPT_ASSOC_STRUCT"> BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></h3></div></div></div>
<a name="fusion.adapted.adapt_assoc.description"></a><h4>
<a name="id577865"></a>
<a href="adapt_assoc.html#fusion.adapted.adapt_assoc.description">Description</a>
</h4>
<p>
BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all
the necessary boilerplate to make an arbitrary struct into a model of <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random Access Sequence</a>
and <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.adapt_assoc.synopsis"></a><h4>
<a name="id577915"></a>
<a href="adapt_assoc.html#fusion.adapted.adapt_assoc.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span>
<span class="identifier">struct_name</span>
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">,</span> <span class="identifier">key_type1</span><span class="special">)</span>
<span class="special">...</span>
<span class="special">)</span>
</pre>
<a name="fusion.adapted.adapt_assoc.semantics"></a><h4>
<a name="id578055"></a>
<a href="adapt_assoc.html#fusion.adapted.adapt_assoc.semantics">Semantics</a>
</h4>
<p>
The above macro generates the necessary code to adapt <tt class="computeroutput"><span class="identifier">struct_name</span></tt>
as a model of <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> and <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>. The sequence of <tt class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
<span class="identifier">member_nameN</span><span class="special">,</span>
<span class="identifier">key_typeN</span><span class="special">)</span></tt>
triples declare the type, name and key type of each of the struct members
that will be part of the sequence.
</p>
<p>
The macro should be used at global scope, and <tt class="computeroutput"><span class="identifier">struct_name</span></tt>
should be the fully namespace qualified name of the struct to be converted.
</p>
<a name="fusion.adapted.adapt_assoc.header"></a><h4>
<a name="id578180"></a>
<a href="adapt_assoc.html#fusion.adapted.adapt_assoc.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_assoc.example"></a><h4>
<a name="id578348"></a>
<a href="adapt_assoc.html#fusion.adapted.adapt_assoc.example">Example</a>
</h4>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
<span class="keyword">namespace</span> <span class="identifier">keys</span>
<span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">name</span><span class="special">;</span>
<span class="keyword">struct</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>
<span class="comment">// demo::employee is now a Fusion sequence
</span><span class="comment">// It is also an associative sequence with
</span><span class="comment">// keys keys::name and keys::age present.
</span><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT</span><span class="special">(</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span>
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">)</span>
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">,</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapt_struct.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,110 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> BOOST_FUSION_ADAPT_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="boost__tuple.html" title="boost::tuple">
<link rel="next" href="adapt_assoc.html" title=" BOOST_FUSION_ADAPT_ASSOC_STRUCT">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_struct"></a><a href="adapt_struct.html" title=" BOOST_FUSION_ADAPT_STRUCT"> BOOST_FUSION_ADAPT_STRUCT</a></h3></div></div></div>
<a name="fusion.adapted.adapt_struct.description"></a><h4>
<a name="id577192"></a>
<a href="adapt_struct.html#fusion.adapted.adapt_struct.description">Description</a>
</h4>
<p>
BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the
necessary boilerplate to make an arbitrary struct into a <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.adapt_struct.synopsis"></a><h4>
<a name="id577232"></a>
<a href="adapt_struct.html#fusion.adapted.adapt_struct.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
<span class="identifier">struct_name</span>
<span class="special">(</span><span class="identifier">member_type0</span><span class="special">,</span> <span class="identifier">member_name0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">member_type1</span><span class="special">,</span> <span class="identifier">member_name1</span><span class="special">)</span>
<span class="special">...</span>
<span class="special">)</span>
</pre>
<a name="fusion.adapted.adapt_struct.semantics"></a><h4>
<a name="id577349"></a>
<a href="adapt_struct.html#fusion.adapted.adapt_struct.semantics">Semantics</a>
</h4>
<p>
The above macro generates the necessary code to adapt <tt class="computeroutput"><span class="identifier">struct_name</span></tt>
as a model of <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>. The sequence of <tt class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
<span class="identifier">member_nameN</span><span class="special">)</span></tt>
pairs declare the type and names of each of the struct members that will
be part of the sequence.
</p>
<p>
The macro should be used at global scope, and <tt class="computeroutput"><span class="identifier">struct_name</span></tt>
should be the fully namespace qualified name of the struct to be converted.
</p>
<a name="fusion.adapted.adapt_struct.header"></a><h4>
<a name="id577453"></a>
<a href="adapt_struct.html#fusion.adapted.adapt_struct.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="keyword">struct</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">adapt_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_struct.example"></a><h4>
<a name="id577620"></a>
<a href="adapt_struct.html#fusion.adapted.adapt_struct.example">Example</a>
</h4>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
<span class="comment">// demo::employee is now a Fusion sequence
</span><span class="identifier">BOOST_FUSION_ADAPT_STRUCT</span><span class="special">(</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span>
<span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">age</span><span class="special">))</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,85 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::array</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="mpl_sequence.html" title="mpl sequence">
<link rel="next" href="boost__tuple.html" title="boost::tuple">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__array"></a><a href="boost__array.html" title="boost::array">boost::array</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt>
a fully conforming <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.boost__array.header"></a><h4>
<a name="id575685"></a>
<a href="boost__array.html#fusion.adapted.boost__array.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.boost__array.model_of"></a><h4>
<a name="id575843"></a>
<a href="boost__array.html#fusion.adapted.boost__array.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__array.example"></a><h4>
<a name="id575884"></a>
<a href="boost__array.html#fusion.adapted.boost__array.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="number">3</span><span class="special">&gt;</span> <span class="identifier">arr</span> <span class="special">=</span> <span class="special">{{</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">}};</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/advance_c.html" title="advance_c"><tt class="computeroutput"><span class="identifier">advance_c</span></tt></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><a href="../iterator/functions/prior.html" title="prior"><tt class="computeroutput"><span class="identifier">prior</span></tt></a><span class="special">(</span><a href="../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">arr</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><span class="identifier">arr</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.boost__array.see_also"></a><h4>
<a name="id576504"></a>
<a href="boost__array.html#fusion.adapted.boost__array.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/doc/html/array.html" target="_top">Boost.Array Library</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,81 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::tuple</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="boost__array.html" title="boost::array">
<link rel="next" href="adapt_struct.html" title=" BOOST_FUSION_ADAPT_STRUCT">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__tuple"></a><a href="boost__tuple.html" title="boost::tuple">boost::tuple</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
a fully conforming <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<a name="fusion.adapted.boost__tuple.header"></a><h4>
<a name="id576619"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.boost__tuple.model_of"></a><h4>
<a name="id576777"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__tuple.example"></a><h4>
<a name="id576818"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">example_tuple</span><span class="special">(</span><span class="number">101</span><span class="special">,</span> <span class="string">"hello"</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="special">*</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">example_tuple</span><span class="special">))</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.boost__tuple.see_also"></a><h4>
<a name="id577135"></a>
<a href="boost__tuple.html#fusion.adapted.boost__tuple.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple
Library</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,101 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>mpl sequence</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="std__pair.html" title="std::pair">
<link rel="next" href="boost__array.html" title="boost::array">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.mpl_sequence"></a><a href="mpl_sequence.html" title="mpl sequence">mpl sequence</a></h3></div></div></div>
<p>
This module provides adapters for <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences. Including the module header makes all <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences fully conforming fusion sequences.
</p>
<a name="fusion.adapted.mpl_sequence.header"></a><h4>
<a name="id574738"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.mpl_sequence.model_of"></a><h4>
<a name="id574894"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
(If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a forward sequence.)
</li>
<li>
<a href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a bidirectional sequence.)
</li>
<li>
<a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> (If the <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequence is a random access sequence.)
</li>
</ul></div>
<a name="fusion.adapted.mpl_sequence.example"></a><h4>
<a name="id574986"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">123</span><span class="special">,</span> <span class="number">456</span><span class="special">&gt;</span> <span class="identifier">vec_c</span><span class="special">;</span>
<span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector2</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">(</span><span class="identifier">vec_c</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">v</span> <span class="special">=</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">vector_c</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="number">456</span><span class="special">,</span> <span class="number">789</span><span class="special">&gt;();</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.mpl_sequence.see_also"></a><h4>
<a name="id575573"></a>
<a href="mpl_sequence.html#fusion.adapted.mpl_sequence.see_also">See also</a>
</h4>
<p>
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,84 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>std::pair</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="../adapted.html" title="Adapted">
<link rel="next" href="mpl_sequence.html" title="mpl sequence">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.std__pair"></a><a href="std__pair.html" title="std::pair">std::pair</a></h3></div></div></div>
<p>
This module provides adapters for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>.
Including the module header makes <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>
a fully conforming <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.std__pair.header"></a><h4>
<a name="id574051"></a>
<a href="std__pair.html#fusion.adapted.std__pair.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">std_pair</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.std__pair.model_of"></a><h4>
<a name="id574208"></a>
<a href="std__pair.html#fusion.adapted.std__pair.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a></li></ul></div>
<a name="fusion.adapted.std__pair.example"></a><h4>
<a name="id574249"></a>
<a href="std__pair.html#fusion.adapted.std__pair.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">p</span><span class="special">(</span><span class="number">123</span><span class="special">,</span> <span class="string">"Hola!!!"</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">p</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">p</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
<a name="fusion.adapted.std__pair.see_also"></a><h4>
<a name="id574602"></a>
<a href="std__pair.html#fusion.adapted.std__pair.see_also">See also</a>
</h4>
<p>
<a href="http://www.sgi.com/tech/stl/pair.html" target="_top"><tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>,
<a href="../tuple/pairs.html" title="Pairs"><tt class="computeroutput"><span class="identifier">TR1</span>
<span class="keyword">and</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt></a>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../adapted.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,114 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithm</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="adapted/adapt_assoc.html" title=" BOOST_FUSION_ADAPT_ASSOC_STRUCT">
<link rel="next" href="algorithm/iteration.html" title="Iteration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapted/adapt_assoc.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.algorithm"></a><a href="algorithm.html" title="Algorithm">Algorithm</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="algorithm/iteration.html">Iteration</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithm/query.html">Query</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/query/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/query/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithm/transformation.html">Transformation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithm/transformation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithm/transformation/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
</dl></div>
<a name="fusion.algorithm.lazy_evaluation"></a><h3>
<a name="id578704"></a>
<a href="algorithm.html#fusion.algorithm.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion
algorithms are lazy and non sequence-type preserving. What does that mean?
It means that when you operate on a sequence through a Fusion algorithm that
returns a sequence, the sequence returned may not be of the same class as the
original. This is by design. Runtime efficiency is given a high priority. Like
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and unlike
<a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
fusion algorithms are functional in nature such that algorithms are non mutating
(no side effects). However, due to the high cost of returning full sequences
such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion
algorithms instead. For example, the <a href="algorithm/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> algorithm does not actually
return a transformed version of the original sequence. <a href="algorithm/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> returns a <a href="view/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>. This view holds a
reference to the original sequence plus the transform function. Iteration over
the <a href="view/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
will apply the transform function over the sequence elements on demand. This
<span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms
as we want without incurring a high runtime penalty.
</p>
<a name="fusion.algorithm.sequence_extension"></a><h3>
<a name="id578852"></a>
<a href="algorithm.html#fusion.algorithm.sequence_extension">Sequence Extension</a>
</h3>
<p>
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithm.html" title="Algorithm">Algorithms</a>
return <a href="view.html" title="View">Views</a> also allows operations such
as <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> to be totally generic. In
Fusion, <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and a value <tt class="computeroutput"><span class="identifier">x</span></tt>, Fusion's <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> algorithm simply returns
a <a href="view/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>:
a view that holds a reference to the original sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and the value <tt class="computeroutput"><span class="identifier">x</span></tt>. Functions
that were once sequence specific and need to be implemented N times over N
different sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like <a href="algorithm/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> does not retain the properties
of the original sequence such as associativity of <a href="container/set.html" title="set"><tt class="computeroutput"><span class="identifier">set</span></tt></a>(s). To regain the original sequence,
<a href="container/conversion/functions.html" title="Functions">Conversion</a> functions
are provided. You may use one of the <a href="container/conversion/functions.html" title="Functions">Conversion</a>
functions to convert back to the original sequence type.
</p>
<a name="fusion.algorithm.header"></a><h3>
<a name="id579085"></a>
<a href="algorithm.html#fusion.algorithm.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapted/adapt_assoc.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,59 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iteration</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="../algorithm.html" title="Algorithm">
<link rel="next" href="iteration/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.iteration"></a><a href="iteration.html" title="Iteration">Iteration</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
The iteration algorithms provide the fundamental algorithms for traversing
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithm.iteration.header"></a><h4>
<a name="id579258"></a>
<a href="iteration.html#fusion.algorithm.iteration.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,110 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithms</title>
<link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="sequences/operators/comparison/greater_than_equal.html" title="greater
than equal">
<link rel="next" href="algorithms/iteration.html" title="Iteration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.algorithms"></a><a href="algorithms.html" title="Algorithms">Algorithms</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="algorithms/iteration.html">Iteration</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithms/iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithms/query.html">Query</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/query/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithms/query/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="algorithms/transformation.html">Transformation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="algorithms/transformation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="algorithms/transformation/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
</dl></div>
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
<a name="id572828"></a>
<a href="algorithms.html#fusion.algorithms.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
Unlike <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, Fusion
algorithms are lazy and non sequence-type preserving. What does that mean?
It means that when you operate on a sequence through a Fusion algorithm that
returns a sequence, the sequence returned may not be of the same class as the
original. This is by design. Runtime efficiency is given a high priority. Like
<a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>, and unlike
<a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>,
fusion algorithms are functional in nature such that algorithms are non mutating
(no side effects). However, due to the high cost of returning full sequences
such as vectors and lists, <span class="emphasis"><em>Views</em></span> are returned from Fusion
algorithms instead. For example, the <a href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> algorithm does not actually
return a transformed version of the original sequence. <a href="algorithms/transformation/functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a> returns a <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>. This view holds a
reference to the original sequence plus the transform function. Iteration over
the <a href="sequences/views/transform_view.html" title="transform_view"><tt class="computeroutput"><span class="identifier">transform_view</span></tt></a>
will apply the transform function over the sequence elements on demand. This
<span class="emphasis"><em>lazy</em></span> evaluation scheme allows us to chain as many algorithms
as we want without incurring a high runtime penalty.
</p>
<a name="fusion.algorithms.sequence_extension"></a><h3>
<a name="id572975"></a>
<a href="algorithms.html#fusion.algorithms.sequence_extension">Sequence Extension</a>
</h3>
<p>
The <span class="emphasis"><em>lazy</em></span> evaluation scheme where <a href="algorithms.html" title="Algorithms">Algorithms</a>
return <a href="sequences/views.html" title="Views">Views</a> also allows operations
such as <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> to be totally generic. In
Fusion, <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and a value <tt class="computeroutput"><span class="identifier">x</span></tt>, Fusion's <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> algorithm simply returns
a <a href="sequences/views/joint_view.html" title="joint_view"><tt class="computeroutput"><span class="identifier">joint_view</span></tt></a>:
a view that holds a reference to the original sequence <tt class="computeroutput"><span class="identifier">s</span></tt>
and the value <tt class="computeroutput"><span class="identifier">x</span></tt>. Functions
that were once sequence specific and need to be implemented N times over N
different sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like <a href="algorithms/transformation/functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a> does not retain the properties
of the original sequence such as associativity of <span class="underline">_set</span>_s.
To regain the original sequence, <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
functions are provided. You may use one of the <a href="sequences/conversion/functions.html" title="Functions">Conversion</a>
functions to convert back to the original sequence type.
</p>
<a name="fusion.algorithms.header"></a><h3>
<a name="id573200"></a>
<a href="algorithms.html#fusion.algorithms.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequences/operators/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/iteration.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,41 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Concepts</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="../algorithms.html" title="Algorithms">
<link rel="next" href="concepts/poly.html" title=" Polymorphic Function
Object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithms.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
<div class="toc"><dl><dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
Object</a></span></dt></dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithms.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="concepts/poly.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,96 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> Polymorphic Function
Object</title>
<link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
<link rel="next" href="../iteration.html" title="Iteration">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithms.concepts.poly"></a><a href="poly.html" title=" Polymorphic Function
Object"> Polymorphic Function
Object</a></h4></div></div></div>
<a name="fusion.algorithms.concepts.poly.description"></a><h5>
<a name="id553170"></a>
<a href="poly.html#fusion.algorithms.concepts.poly.description">Description</a>
</h5>
<p>
A type of function object with a nested metafunction <tt class="computeroutput"><span class="identifier">result</span></tt>.
<tt class="computeroutput"><span class="identifier">result</span></tt> returns the result
type of calling the function object, given the argument types.
</p>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">F</span></tt></span></dt>
<dd>
A Polymorphic Function Object type
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">f</span></tt></span></dt>
<dd>
A Polymorphic Function Object
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></tt></span></dt>
<dd>
Arbitrary types
</dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">t1</span>
<span class="special">...</span><span class="identifier">tN</span></tt></span></dt>
<dd>
Objects with types <tt class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></tt>
</dd>
</dl>
</div>
<a name="fusion.algorithms.concepts.poly.expression_requirements"></a><h5>
<a name="id553345"></a>
<a href="poly.html#fusion.algorithms.concepts.poly.expression_requirements">Expression
requirements</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Return Type</th>
<th>Runtime
Complexity</th>
</tr></thead>
<tbody><tr>
<td><tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">tN</span><span class="special">)</span></tt></td>
<td><tt class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></tt></td>
<td>Unspecified</td>
</tr></tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2005 Joel de Guzman, Dan Marsden</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../iteration.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -0,0 +1,54 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iteration</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="../algorithms.html" title="Algorithms">
<link rel="next" href="iteration/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithms.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithms.iteration"></a><a href="iteration.html" title="Iteration">Iteration</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="iteration/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="iteration/metafunctions.html">Metafunctions</a></span></dt>
</dl></div>
<p>
The iteration algorithms provide the fundamental algorithms for traversing
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithms.iteration.header"></a><h4>
<a name="id573309"></a>
<a href="iteration.html#fusion.algorithms.iteration.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger</small></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithms.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title> <title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration"> <link rel="up" href="../iteration.html" title="Iteration">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div> <a name="fusion.algorithms.iteration.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="functions/fold.html">fold</a></span></dt> <dt><span class="section"><a href="functions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt> <dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt>
@ -33,12 +33,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title> <title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div> <a name="fusion.algorithms.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.accumulate.description"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.description"></a><h6>
<a name="id581187"></a> <a name="id575113"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a> <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
@ -36,9 +36,9 @@
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt> to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state. and the previous state.
</p> </p>
<a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.synopsis"></a><h6>
<a name="id581266"></a> <a name="id575193"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a> <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -50,7 +50,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id581528"></a><p class="title"><b>Table 1.34. Parameters</b></p> <a name="id575454"></a><p class="title"><b>Table 1.34. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span>
<span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> must be a valid expression for <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> must be a valid expression for
@ -136,9 +136,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id581979"></a> <a name="id575906"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -151,24 +151,23 @@
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> <span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>. where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.complexity"></a><h6>
<a name="id582190"></a> <a name="id576116"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a> <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>. Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.accumulate.header"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.header"></a><h6>
<a name="id582286"></a> <a name="id576212"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.header">Header</a> <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.iteration.functions.accumulate.example"></a><h6> <a name="fusion.algorithms.iteration.functions.accumulate.example"></a><h6>
<a name="id582456"></a> <a name="id576320"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a> <a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</span> <span class="keyword">struct</span> <span class="identifier">make_string</span>
@ -182,18 +181,14 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span><a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title> <title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div> <a name="fusion.algorithms.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.fold.description"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.description"></a><h6>
<a name="id579458"></a> <a name="id573446"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a> <a href="fold.html#fusion.algorithms.iteration.functions.fold.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
@ -36,9 +36,9 @@
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt> to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state. and the previous state.
</p> </p>
<a name="fusion.algorithm.iteration.functions.fold.synopsis"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.synopsis"></a><h6>
<a name="id579538"></a> <a name="id573525"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a> <a href="fold.html#fusion.algorithms.iteration.functions.fold.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -50,7 +50,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id579798"></a><p class="title"><b>Table 1.33. Parameters</b></p> <a name="id573784"></a><p class="title"><b>Table 1.33. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>,<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt> must be a valid expression for Sequence</a>,<tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">,</span><span class="identifier">s</span><span class="special">)</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e</span></tt> each element <tt class="computeroutput"><span class="identifier">e</span></tt>
@ -136,9 +136,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id580207"></a> <a name="id574194"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression <a href="fold.html#fusion.algorithms.iteration.functions.fold.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -151,24 +151,23 @@
<span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt> <span class="bold"><b>Semantics</b></span>: Equivalent to <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">eN</span> <span class="special">....</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e2</span><span class="special">,</span><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span><span class="identifier">initial_state</span><span class="special">)))</span></tt>
where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>. where <tt class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></tt> are the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.fold.complexity"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.complexity"></a><h6>
<a name="id580418"></a> <a name="id574404"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a> <a href="fold.html#fusion.algorithms.iteration.functions.fold.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>. Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.fold.header"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.header"></a><h6>
<a name="id580513"></a> <a name="id574499"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.header">Header</a> <a href="fold.html#fusion.algorithms.iteration.functions.fold.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.iteration.functions.fold.example"></a><h6> <a name="fusion.algorithms.iteration.functions.fold.example"></a><h6>
<a name="id580682"></a> <a name="id574606"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a> <a href="fold.html#fusion.algorithms.iteration.functions.fold.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</span> <span class="keyword">struct</span> <span class="identifier">make_string</span>
@ -182,18 +181,14 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span><a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">(</span><span class="string">""</span><span class="special">),</span> <span class="identifier">make_string</span><span class="special">())</span> <span class="special">==</span> <span class="string">"12"</span><span class="special">);</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title> <title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div> <a name="fusion.algorithms.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.functions.for_each.description"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.description"></a><h6>
<a name="id582958"></a> <a name="id576823"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a> <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.description">Description</a>
</h6> </h6>
<p> <p>
Applies a unary function object to each element of a sequence. Applies a unary function object to each element of a sequence.
</p> </p>
<a name="fusion.algorithm.iteration.functions.for_each.synopsis"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.synopsis"></a><h6>
<a name="id582990"></a> <a name="id576855"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a> <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id583193"></a><p class="title"><b>Table 1.35. Parameters</b></p> <a name="id577058"></a><p class="title"><b>Table 1.35. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression for
each element <tt class="computeroutput"><span class="identifier">e</span></tt> each element <tt class="computeroutput"><span class="identifier">e</span></tt>
@ -113,9 +113,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id583393"></a> <a name="id577258"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -128,24 +128,23 @@
<span class="bold"><b>Semantics</b></span>: Calls <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt> <span class="bold"><b>Semantics</b></span>: Calls <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>. in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.for_each.complexity"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.complexity"></a><h6>
<a name="id583552"></a> <a name="id577417"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a> <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>. Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">f</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.functions.for_each.header"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.header"></a><h6>
<a name="id583647"></a> <a name="id577512"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.header">Header</a> <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.iteration.functions.for_each.example"></a><h6> <a name="fusion.algorithms.iteration.functions.for_each.example"></a><h6>
<a name="id583817"></a> <a name="id577619"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a> <a href="for_each.html#fusion.algorithms.iteration.functions.for_each.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">increment</span> <span class="keyword">struct</span> <span class="identifier">increment</span>
@ -157,19 +156,15 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span> <a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">increment</span><span class="special">());</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title> <title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration"> <link rel="up" href="../iteration.html" title="Iteration">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div> <a name="fusion.algorithms.iteration.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt> <dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt> <dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt>
@ -33,12 +33,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title> <title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div> <a name="fusion.algorithms.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.description"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.accumulate.description"></a><h6>
<a name="id585193"></a> <a name="id578935"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a> <a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>. Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.accumulate.synopsis"></a><h6>
<a name="id585243"></a> <a name="id578985"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a> <a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id585379"></a><p class="title"><b>Table 1.37. Parameters</b></p> <a name="id579121"></a><p class="title"><b>Table 1.37. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -130,9 +130,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id585732"></a> <a name="id579472"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression <a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -148,30 +148,25 @@
an initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt> an initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>. and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.accumulate.complexity"></a><h6>
<a name="id585908"></a> <a name="id579649"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a> <a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>. Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.accumulate.header"></a><h6>
<a name="id586004"></a> <a name="id579744"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.header">Header</a> <a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">accumulate</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title> <title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div> <a name="fusion.algorithms.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions.fold.description"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.fold.description"></a><h6>
<a name="id584198"></a> <a name="id578002"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a> <a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>. Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.fold.synopsis"></a><h6>
<a name="id584248"></a> <a name="id578051"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a> <a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id584383"></a><p class="title"><b>Table 1.36. Parameters</b></p> <a name="id578187"></a><p class="title"><b>Table 1.36. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -130,9 +130,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id584733"></a> <a name="id578537"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression <a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -148,30 +148,25 @@
initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt> initial state of type <tt class="computeroutput"><span class="identifier">State</span></tt>
and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>. and binary function object or function pointer of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.fold.complexity"></a><h6>
<a name="id584907"></a> <a name="id578711"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a> <a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, exactly <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>. Linear, exactly <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> applications of <tt class="computeroutput"><span class="identifier">F</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.fold.header"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.fold.header"></a><h6>
<a name="id585003"></a> <a name="id578806"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.header">Header</a> <a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">fold</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title> <title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div> <a name="fusion.algorithms.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<p> <p>
A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> to a sequence. The A metafunction returning the result type of applying <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> to a sequence. The
return type of <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> is always <tt class="computeroutput"><span class="keyword">void</span></tt>. return type of <a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.description"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.for_each.description"></a><h6>
<a name="id586249"></a> <a name="id579927"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a> <a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.description">Description</a>
</h6> </h6>
<a name="fusion.algorithm.iteration.metafunctions.for_each.synopsis"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.for_each.synopsis"></a><h6>
<a name="id586276"></a> <a name="id579954"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a> <a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id586398"></a><p class="title"><b>Table 1.38. Parameters</b></p> <a name="id580076"></a><p class="title"><b>Table 1.38. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id586539"></a> <a name="id580217"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression <a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -130,30 +130,25 @@
function object <tt class="computeroutput"><span class="identifier">F</span></tt>. The function object <tt class="computeroutput"><span class="identifier">F</span></tt>. The
return type is always <tt class="computeroutput"><span class="keyword">void</span></tt>. return type is always <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.complexity"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.for_each.complexity"></a><h6>
<a name="id586721"></a> <a name="id580398"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a> <a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.header"></a><h6> <a name="fusion.algorithms.iteration.metafunctions.for_each.header"></a><h6>
<a name="id586751"></a> <a name="id580429"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.header">Header</a> <a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,10 +2,10 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Query</title> <title>Query</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm"> <link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each"> <link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each">
<link rel="next" href="query/functions.html" title="Functions"> <link rel="next" href="query/functions.html" title="Functions">
</head> </head>
@ -20,11 +20,11 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.query"></a><a href="query.html" title="Query">Query</a></h3></div></div></div> <a name="fusion.algorithms.query"></a><a href="query.html" title="Query">Query</a></h3></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="query/functions.html">Functions</a></span></dt> <dt><span class="section"><a href="query/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt> <dt><span class="section"><a href="query/metafunctions.html">Metafunctions</a></span></dt>
@ -32,27 +32,22 @@
<p> <p>
The query algorithms provide support for searching and analyzing sequences. The query algorithms provide support for searching and analyzing sequences.
</p> </p>
<a name="fusion.algorithm.query.header"></a><h4> <a name="fusion.algorithms.query.header"></a><h4>
<a name="id586949"></a> <a name="id580564"></a>
<a href="query.html#fusion.algorithm.query.header">Header</a> <a href="query.html#fusion.algorithms.query.header">Header</a>
</h4> </h4>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">query</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title> <title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../query.html" title="Query"> <link rel="up" href="../query.html" title="Query">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div> <a name="fusion.algorithms.query.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="functions/any.html">any</a></span></dt> <dt><span class="section"><a href="functions/any.html">any</a></span></dt>
<dt><span class="section"><a href="functions/all.html">all</a></span></dt> <dt><span class="section"><a href="functions/all.html">all</a></span></dt>
@ -37,12 +37,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title> <title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.all.description"></a><h6> <a name="fusion.algorithms.query.functions.all.description"></a><h6>
<a name="id385641"></a> <a name="id581898"></a>
<a href="all.html#fusion.algorithm.query.functions.all.description">Description</a> <a href="all.html#fusion.algorithms.query.functions.all.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
@ -36,9 +36,9 @@
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every <tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>. element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.all.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.all.synopsis"></a><h6>
<a name="id385718"></a> <a name="id581988"></a>
<a href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a> <a href="all.html#fusion.algorithms.query.functions.all.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id590090"></a><p class="title"><b>Table 1.40. Parameters</b></p> <a name="id582182"></a><p class="title"><b>Table 1.40. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
@ -115,9 +115,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.all.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.all.expression_semantics"></a><h6>
<a name="id590278"></a> <a name="id582383"></a>
<a href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression <a href="all.html#fusion.algorithms.query.functions.all.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -132,24 +132,23 @@
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for every evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.all.complexity"></a><h6> <a name="fusion.algorithms.query.functions.all.complexity"></a><h6>
<a name="id590430"></a> <a name="id582552"></a>
<a href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a> <a href="all.html#fusion.algorithms.query.functions.all.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.all.header"></a><h6> <a name="fusion.algorithms.query.functions.all.header"></a><h6>
<a name="id590502"></a> <a name="id582636"></a>
<a href="all.html#fusion.algorithm.query.functions.all.header">Header</a> <a href="all.html#fusion.algorithms.query.functions.all.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.all.example"></a><h6> <a name="fusion.algorithms.query.functions.all.example"></a><h6>
<a name="id590653"></a> <a name="id582742"></a>
<a href="all.html#fusion.algorithm.query.functions.all.example">Example</a> <a href="all.html#fusion.algorithms.query.functions.all.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span> <span class="keyword">struct</span> <span class="identifier">odd</span>
@ -161,18 +160,14 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(!</span><a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title> <title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.any.description"></a><h6> <a name="fusion.algorithms.query.functions.any.description"></a><h6>
<a name="id587147"></a> <a name="id580699"></a>
<a href="any.html#fusion.algorithm.query.functions.any.description">Description</a> <a href="any.html#fusion.algorithms.query.functions.any.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
@ -36,9 +36,9 @@
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for at <tt class="computeroutput"><span class="identifier">f</span></tt> returns true for at
least one element of <tt class="computeroutput"><span class="identifier">seq</span></tt>. least one element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.any.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.any.synopsis"></a><h6>
<a name="id587236"></a> <a name="id580788"></a>
<a href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a> <a href="any.html#fusion.algorithms.query.functions.any.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id587429"></a><p class="title"><b>Table 1.39. Parameters</b></p> <a name="id580982"></a><p class="title"><b>Table 1.39. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression, convertible Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> must be a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
@ -115,9 +115,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.any.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.any.expression_semantics"></a><h6>
<a name="id587631"></a> <a name="id581183"></a>
<a href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression <a href="any.html#fusion.algorithms.query.functions.any.expression_semantics">Expression
semantics</a> semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -132,24 +132,23 @@
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for some evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> for some
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.any.complexity"></a><h6> <a name="fusion.algorithms.query.functions.any.complexity"></a><h6>
<a name="id587800"></a> <a name="id581354"></a>
<a href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a> <a href="any.html#fusion.algorithms.query.functions.any.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.any.header"></a><h6> <a name="fusion.algorithms.query.functions.any.header"></a><h6>
<a name="id587883"></a> <a name="id581438"></a>
<a href="any.html#fusion.algorithm.query.functions.any.header">Header</a> <a href="any.html#fusion.algorithms.query.functions.any.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.any.example"></a><h6> <a name="fusion.algorithms.query.functions.any.example"></a><h6>
<a name="id588051"></a> <a name="id581543"></a>
<a href="any.html#fusion.algorithm.query.functions.any.example">Example</a> <a href="any.html#fusion.algorithms.query.functions.any.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span> <span class="keyword">struct</span> <span class="identifier">odd</span>
@ -161,18 +160,14 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(!</span><a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title> <title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.count.description"></a><h6> <a name="fusion.algorithms.query.functions.count.description"></a><h6>
<a name="id594274"></a> <a name="id586595"></a>
<a href="count.html#fusion.algorithm.query.functions.count.description">Description</a> <a href="count.html#fusion.algorithms.query.functions.count.description">Description</a>
</h6> </h6>
<p> <p>
Returns the number of elements of a given type within a sequence. Returns the number of elements of a given type within a sequence.
</p> </p>
<a name="fusion.algorithm.query.functions.count.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.count.synopsis"></a><h6>
<a name="id594304"></a> <a name="id586626"></a>
<a href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a> <a href="count.html#fusion.algorithms.query.functions.count.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id594508"></a><p class="title"><b>Table 1.44. Parameters</b></p> <a name="id586834"></a><p class="title"><b>Table 1.44. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></tt> Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">t</span></tt>
must be a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>, must be a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.count.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.count.expression_semantics"></a><h6>
<a name="id594701"></a> <a name="id587032"></a>
<a href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression <a href="count.html#fusion.algorithms.query.functions.count.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -128,38 +128,33 @@
of type <tt class="computeroutput"><span class="identifier">T</span></tt> and equal to of type <tt class="computeroutput"><span class="identifier">T</span></tt> and equal to
<tt class="computeroutput"><span class="identifier">t</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><span class="identifier">t</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.count.complexity"></a><h6> <a name="fusion.algorithms.query.functions.count.complexity"></a><h6>
<a name="id594839"></a> <a name="id587176"></a>
<a href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a> <a href="count.html#fusion.algorithms.query.functions.count.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.count.header"></a><h6> <a name="fusion.algorithms.query.functions.count.header"></a><h6>
<a name="id594920"></a> <a name="id587260"></a>
<a href="count.html#fusion.algorithm.query.functions.count.header">Header</a> <a href="count.html#fusion.algorithms.query.functions.count.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.count.example"></a><h6> <a name="fusion.algorithms.query.functions.count.example"></a><h6>
<a name="id595086"></a> <a name="id587366"></a>
<a href="count.html#fusion.algorithm.query.functions.count.example">Example</a> <a href="count.html#fusion.algorithms.query.functions.count.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span><a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="number">2</span><span class="special">)</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title> <title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.count_if.description"></a><h6> <a name="fusion.algorithms.query.functions.count_if.description"></a><h6>
<a name="id595296"></a> <a name="id587583"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a> <a href="count_if.html#fusion.algorithms.query.functions.count_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns the number of elements within a sequence with a type for which Returns the number of elements within a sequence with a type for which
a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>. a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.count_if.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.count_if.synopsis"></a><h6>
<a name="id595338"></a> <a name="id587627"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a> <a href="count_if.html#fusion.algorithms.query.functions.count_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -46,7 +46,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id595533"></a><p class="title"><b>Table 1.45. Parameters</b></p> <a name="id587824"></a><p class="title"><b>Table 1.45. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.count_if.expression_semantics"></a><h6>
<a name="id595729"></a> <a name="id588025"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression <a href="count_if.html#fusion.algorithms.query.functions.count_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -127,38 +127,33 @@
<span class="bold"><b>Semantics</b></span>: Returns the number of elements <span class="bold"><b>Semantics</b></span>: Returns the number of elements
in <tt class="computeroutput"><span class="identifier">seq</span></tt> where <tt class="computeroutput"><span class="identifier">f</span></tt> evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>. in <tt class="computeroutput"><span class="identifier">seq</span></tt> where <tt class="computeroutput"><span class="identifier">f</span></tt> evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.count_if.complexity"></a><h6> <a name="fusion.algorithms.query.functions.count_if.complexity"></a><h6>
<a name="id595867"></a> <a name="id588169"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a> <a href="count_if.html#fusion.algorithms.query.functions.count_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.count_if.header"></a><h6> <a name="fusion.algorithms.query.functions.count_if.header"></a><h6>
<a name="id595947"></a> <a name="id588252"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.header">Header</a> <a href="count_if.html#fusion.algorithms.query.functions.count_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.count_if.example"></a><h6> <a name="fusion.algorithms.query.functions.count_if.example"></a><h6>
<a name="id596114"></a> <a name="id588359"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a> <a href="count_if.html#fusion.algorithms.query.functions.count_if.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(</span><a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span><span class="identifier">odd</span><span class="special">())</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title> <title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.find.description"></a><h6> <a name="fusion.algorithms.query.functions.find.description"></a><h6>
<a name="id592150"></a> <a name="id584340"></a>
<a href="find.html#fusion.algorithm.query.functions.find.description">Description</a> <a href="find.html#fusion.algorithms.query.functions.find.description">Description</a>
</h6> </h6>
<p> <p>
Finds the first element of a given type within a sequence. Finds the first element of a given type within a sequence.
</p> </p>
<a name="fusion.algorithm.query.functions.find.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.find.synopsis"></a><h6>
<a name="id592179"></a> <a name="id584372"></a>
<a href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a> <a href="find.html#fusion.algorithms.query.functions.find.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -50,7 +50,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id592357"></a><p class="title"><b>Table 1.42. Parameters</b></p> <a name="id584571"></a><p class="title"><b>Table 1.42. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -114,9 +114,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.find.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.find.expression_semantics"></a><h6>
<a name="id592491"></a> <a name="id584710"></a>
<a href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression <a href="find.html#fusion.algorithms.query.functions.find.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -129,42 +129,37 @@
<p> <p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the <span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of <tt class="computeroutput"><span class="identifier">seq</span></tt> first element of <tt class="computeroutput"><span class="identifier">seq</span></tt>
of type <tt class="computeroutput"><span class="identifier">T</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> if there is no such element. Equivalent of type <tt class="computeroutput"><span class="identifier">T</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> if there is no such element. Equivalent
to <tt class="computeroutput"><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt> to <tt class="computeroutput"><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>
</p> </p>
<a name="fusion.algorithm.query.functions.find.complexity"></a><h6> <a name="fusion.algorithms.query.functions.find.complexity"></a><h6>
<a name="id592722"></a> <a name="id584964"></a>
<a href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a> <a href="find.html#fusion.algorithms.query.functions.find.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.find.header"></a><h6> <a name="fusion.algorithms.query.functions.find.header"></a><h6>
<a name="id592803"></a> <a name="id585048"></a>
<a href="find.html#fusion.algorithm.query.functions.find.header">Header</a> <a href="find.html#fusion.algorithms.query.functions.find.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.find.example"></a><h6> <a name="fusion.algorithms.query.functions.find.example"></a><h6>
<a name="id592969"></a> <a name="id585154"></a>
<a href="find.html#fusion.algorithm.query.functions.find.example">Example</a> <a href="find.html#fusion.algorithms.query.functions.find.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="char">'a'</span><span class="special">,</span><span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(*</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="char">'0'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title> <title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,19 +24,19 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<p> <p>
Finds the first element within a sequence with a type for which a given Finds the first element within a sequence with a type for which a given
<a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.find_if.description"></a><h6> <a name="fusion.algorithms.query.functions.find_if.description"></a><h6>
<a name="id593288"></a> <a name="id585482"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a> <a href="find_if.html#fusion.algorithms.query.functions.find_if.description">Description</a>
</h6> </h6>
<a name="fusion.algorithm.query.functions.find_if.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.find_if.synopsis"></a><h6>
<a name="id593312"></a> <a name="id585508"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a> <a href="find_if.html#fusion.algorithms.query.functions.find_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -52,7 +52,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id593511"></a><p class="title"><b>Table 1.43. Parameters</b></p> <a name="id585709"></a><p class="title"><b>Table 1.43. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -85,7 +85,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -117,9 +117,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.find_if.expression_semantics"></a><h6>
<a name="id593655"></a> <a name="id585855"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression <a href="find_if.html#fusion.algorithms.query.functions.find_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -133,37 +133,37 @@
<span class="bold"><b>Semantics</b></span>: Returns the first element <span class="bold"><b>Semantics</b></span>: Returns the first element
of <tt class="computeroutput"><span class="identifier">seq</span></tt> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL of <tt class="computeroutput"><span class="identifier">seq</span></tt> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> <tt class="computeroutput"><span class="identifier">F</span></tt> Lambda Expression</a> <tt class="computeroutput"><span class="identifier">F</span></tt>
evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></tt>
if there is no such element. if there is no such element.
</p> </p>
<a name="fusion.algorithm.query.functions.find_if.complexity"></a><h6> <a name="fusion.algorithms.query.functions.find_if.complexity"></a><h6>
<a name="id593858"></a> <a name="id586064"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a> <a href="find_if.html#fusion.algorithms.query.functions.find_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<p> <a name="fusion.algorithms.query.functions.find_if.header"></a><h6>
/algorithm/query/find_if.hpp&gt; <a name="id586148"></a>
</p> <a href="find_if.html#fusion.algorithms.query.functions.find_if.header">Header</a>
<a name="fusion.algorithm.query.functions.find_if.example"></a><h6>
<a name="id593943"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.algorithms.query.functions.find_if.example"></a><h6>
<a name="id586255"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(*</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span> <span class="identifier">assert</span><span class="special">(*</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">find_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_class</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title> <title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div> <a name="fusion.algorithms.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithm.query.functions.none.description"></a><h6> <a name="fusion.algorithms.query.functions.none.description"></a><h6>
<a name="id590975"></a> <a name="id583097"></a>
<a href="none.html#fusion.algorithm.query.functions.none.description">Description</a> <a href="none.html#fusion.algorithms.query.functions.none.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
@ -36,9 +36,9 @@
<tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every <tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>. element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.none.synopsis"></a><h6> <a name="fusion.algorithms.query.functions.none.synopsis"></a><h6>
<a name="id591052"></a> <a name="id583186"></a>
<a href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a> <a href="none.html#fusion.algorithms.query.functions.none.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id591225"></a><p class="title"><b>Table 1.41. Parameters</b></p> <a name="id583381"></a><p class="title"><b>Table 1.41. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible Sequence</a>, <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> is a valid expression, convertible
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
@ -115,9 +115,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.functions.none.expression_semantics"></a><h6> <a name="fusion.algorithms.query.functions.none.expression_semantics"></a><h6>
<a name="id591413"></a> <a name="id583582"></a>
<a href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression <a href="none.html#fusion.algorithms.query.functions.none.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -132,24 +132,23 @@
evaluates to <tt class="computeroutput"><span class="keyword">false</span></tt> for every evaluates to <tt class="computeroutput"><span class="keyword">false</span></tt> for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. Result equivalent to <tt class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></tt>. element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>. Result equivalent to <tt class="computeroutput"><span class="special">!</span><span class="identifier">any</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.functions.none.complexity"></a><h6> <a name="fusion.algorithms.query.functions.none.complexity"></a><h6>
<a name="id591604"></a> <a name="id583794"></a>
<a href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a> <a href="none.html#fusion.algorithms.query.functions.none.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.functions.none.header"></a><h6> <a name="fusion.algorithms.query.functions.none.header"></a><h6>
<a name="id591677"></a> <a name="id583878"></a>
<a href="none.html#fusion.algorithm.query.functions.none.header">Header</a> <a href="none.html#fusion.algorithms.query.functions.none.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.query.functions.none.example"></a><h6> <a name="fusion.algorithms.query.functions.none.example"></a><h6>
<a name="id591828"></a> <a name="id583984"></a>
<a href="none.html#fusion.algorithm.query.functions.none.example">Example</a> <a href="none.html#fusion.algorithms.query.functions.none.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span> <span class="keyword">struct</span> <span class="identifier">odd</span>
@ -161,18 +160,14 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">4</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
<span class="identifier">assert</span><span class="special">(!</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span> <span class="identifier">assert</span><span class="special">(!</span><a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">()));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title> <title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../query.html" title="Query"> <link rel="up" href="../query.html" title="Query">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div> <a name="fusion.algorithms.query.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/any.html">any</a></span></dt> <dt><span class="section"><a href="metafunctions/any.html">any</a></span></dt>
<dt><span class="section"><a href="metafunctions/all.html">all</a></span></dt> <dt><span class="section"><a href="metafunctions/all.html">all</a></span></dt>
@ -37,12 +37,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title> <title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.all.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.all.description"></a><h6>
<a name="id597048"></a> <a name="id589262"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a> <a href="all.html#fusion.algorithms.query.metafunctions.all.description">Description</a>
</h6> </h6>
<p> <p>
A metafunction returning the result type of <a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>. A metafunction returning the result type of <a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.all.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.all.synopsis"></a><h6>
<a name="id597094"></a> <a name="id589310"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a> <a href="all.html#fusion.algorithms.query.metafunctions.all.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id597214"></a><p class="title"><b>Table 1.47. Parameters</b></p> <a name="id589432"></a><p class="title"><b>Table 1.47. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -113,9 +113,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id597358"></a> <a name="id589580"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression <a href="all.html#fusion.algorithms.query.metafunctions.all.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -133,30 +133,25 @@
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>. Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>. The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.all.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.all.complexity"></a><h6>
<a name="id597540"></a> <a name="id589768"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a> <a href="all.html#fusion.algorithms.query.metafunctions.all.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.all.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.all.header"></a><h6>
<a name="id597568"></a> <a name="id589798"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.header">Header</a> <a href="all.html#fusion.algorithms.query.metafunctions.all.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">all</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title> <title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.any.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.any.description"></a><h6>
<a name="id596343"></a> <a name="id588597"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a> <a href="any.html#fusion.algorithms.query.metafunctions.any.description">Description</a>
</h6> </h6>
<p> <p>
A metafunction returning the result type of <a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>. A metafunction returning the result type of <a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.any.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.any.synopsis"></a><h6>
<a name="id596389"></a> <a name="id588645"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a> <a href="any.html#fusion.algorithms.query.metafunctions.any.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id596508"></a><p class="title"><b>Table 1.46. Parameters</b></p> <a name="id588767"></a><p class="title"><b>Table 1.46. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -113,9 +113,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id596655"></a> <a name="id588917"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression <a href="any.html#fusion.algorithms.query.metafunctions.any.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -133,30 +133,25 @@
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>. Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>. The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.any.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.any.complexity"></a><h6>
<a name="id596836"></a> <a name="id589105"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a> <a href="any.html#fusion.algorithms.query.metafunctions.any.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.any.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.any.header"></a><h6>
<a name="id596865"></a> <a name="id589135"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.header">Header</a> <a href="any.html#fusion.algorithms.query.metafunctions.any.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title> <title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.count.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.count.description"></a><h6>
<a name="id600032"></a> <a name="id592038"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a> <a href="count.html#fusion.algorithms.query.metafunctions.count.description">Description</a>
</h6> </h6>
<p> <p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt> A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt>
given the sequence and search types. given the sequence and search types.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.count.synopsis"></a><h6>
<a name="id600075"></a> <a name="id592082"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a> <a href="count.html#fusion.algorithms.query.metafunctions.count.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id600196"></a><p class="title"><b>Table 1.51. Parameters</b></p> <a name="id592203"></a><p class="title"><b>Table 1.51. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id600334"></a> <a name="id592342"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression <a href="count.html#fusion.algorithms.query.metafunctions.count.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -128,30 +128,25 @@
<a href="../functions/count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a>. The return type is always <a href="../functions/count.html" title="count"><tt class="computeroutput"><span class="identifier">count</span></tt></a>. The return type is always
<tt class="computeroutput"><span class="keyword">int</span></tt>. <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.count.complexity"></a><h6>
<a name="id600478"></a> <a name="id592487"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a> <a href="count.html#fusion.algorithms.query.metafunctions.count.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.count.header"></a><h6>
<a name="id600507"></a> <a name="id592516"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.header">Header</a> <a href="count.html#fusion.algorithms.query.metafunctions.count.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title> <title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.count_if.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.count_if.description"></a><h6>
<a name="id600696"></a> <a name="id592644"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a> <a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.description">Description</a>
</h6> </h6>
<p> <p>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt> A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt>
given the sequence and predicate types. given the sequence and predicate types.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count_if.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.count_if.synopsis"></a><h6>
<a name="id600739"></a> <a name="id592689"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a> <a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id600861"></a><p class="title"><b>Table 1.52. Parameters</b></p> <a name="id592810"></a><p class="title"><b>Table 1.52. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id601001"></a> <a name="id592951"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression <a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -128,30 +128,25 @@
<a href="../functions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a>. The return type is <a href="../functions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">count_if</span></tt></a>. The return type is
always <tt class="computeroutput"><span class="keyword">int</span></tt>. always <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count_if.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.count_if.complexity"></a><h6>
<a name="id601157"></a> <a name="id593108"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a> <a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.count_if.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.count_if.header"></a><h6>
<a name="id601186"></a> <a name="id593138"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.header">Header</a> <a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title> <title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.find.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.find.description"></a><h6>
<a name="id598468"></a> <a name="id590592"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a> <a href="find.html#fusion.algorithms.query.metafunctions.find.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>, Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>,
given the sequence and search types. given the sequence and search types.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.find.synopsis"></a><h6>
<a name="id598511"></a> <a name="id590635"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a> <a href="find.html#fusion.algorithms.query.metafunctions.find.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id598629"></a><p class="title"><b>Table 1.49. Parameters</b></p> <a name="id590754"></a><p class="title"><b>Table 1.49. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
Model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,9 +112,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id598769"></a> <a name="id590893"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression <a href="find.html#fusion.algorithms.query.metafunctions.find.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -127,33 +127,27 @@
<p> <p>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the <span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element of type <tt class="computeroutput"><span class="identifier">T</span></tt> first element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, or <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, or <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element.
if there is no such element.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.find.complexity"></a><h6>
<a name="id598972"></a> <a name="id591097"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a> <a href="find.html#fusion.algorithms.query.metafunctions.find.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear, at most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear, at most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.find.header"></a><h6>
<a name="id599055"></a> <a name="id591180"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.header">Header</a> <a href="find.html#fusion.algorithms.query.metafunctions.find.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title> <title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.find_if.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.find_if.description"></a><h6>
<a name="id599245"></a> <a name="id591309"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a> <a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt> Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt>
given the sequence and predicate types. given the sequence and predicate types.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find_if.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.find_if.synopsis"></a><h6>
<a name="id599290"></a> <a name="id591353"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a> <a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id599409"></a><p class="title"><b>Table 1.50. Parameters</b></p> <a name="id591473"></a><p class="title"><b>Table 1.50. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -113,9 +113,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id599557"></a> <a name="id591621"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression <a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -129,32 +129,27 @@
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the <span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt> first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to true. Returns <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element. to true. Returns <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/end.html" title="end"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></tt> if there is no such element.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find_if.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.find_if.complexity"></a><h6>
<a name="id599762"></a> <a name="id591827"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a> <a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Linear. At most <tt class="computeroutput"><a href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons. Linear. At most <tt class="computeroutput"><a href="../../../sequences/intrinsics/metafunctions/size.html" title="size"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></tt> comparisons.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.find_if.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.find_if.header"></a><h6>
<a name="id599844"></a> <a name="id591911"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.header">Header</a> <a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title> <title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div> <a name="fusion.algorithms.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithm.query.metafunctions.none.description"></a><h6> <a name="fusion.algorithms.query.metafunctions.none.description"></a><h6>
<a name="id597752"></a> <a name="id589925"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a> <a href="none.html#fusion.algorithms.query.metafunctions.none.description">Description</a>
</h6> </h6>
<p> <p>
A metafunction returning the result type of <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>. A metafunction returning the result type of <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.none.synopsis"></a><h6> <a name="fusion.algorithms.query.metafunctions.none.synopsis"></a><h6>
<a name="id597798"></a> <a name="id589974"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a> <a href="none.html#fusion.algorithms.query.metafunctions.none.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id597918"></a><p class="title"><b>Table 1.48. Parameters</b></p> <a name="id590095"></a><p class="title"><b>Table 1.48. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -113,9 +113,9 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a><h6> <a name="fusion.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id598063"></a> <a name="id590243"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression <a href="none.html#fusion.algorithms.query.metafunctions.none.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -126,37 +126,32 @@
</p> </p>
<p> <p>
<span class="bold"><b>Semantics</b></span>: Returns the return type of <span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a> <a href="../functions/none.html" title="none"><tt class="computeroutput"><span class="identifier">none</span></tt></a> given a sequence of type
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt> <tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Object">Polymorphic Function
Function Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>. Object</a> of type <tt class="computeroutput"><span class="identifier">F</span></tt>.
The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>. The return type is always <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.none.complexity"></a><h6> <a name="fusion.algorithms.query.metafunctions.none.complexity"></a><h6>
<a name="id598247"></a> <a name="id590433"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a> <a href="none.html#fusion.algorithms.query.metafunctions.none.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.query.metafunctions.none.header"></a><h6> <a name="fusion.algorithms.query.metafunctions.none.header"></a><h6>
<a name="id598276"></a> <a name="id590462"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.header">Header</a> <a href="none.html#fusion.algorithms.query.metafunctions.none.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">query</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">none</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,10 +2,10 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Transformation</title> <title>Transformation</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm"> <link rel="up" href="../algorithms.html" title="Algorithms">
<link rel="prev" href="query/metafunctions/count_if.html" title="count_if"> <link rel="prev" href="query/metafunctions/count_if.html" title="count_if">
<link rel="next" href="transformation/functions.html" title="Functions"> <link rel="next" href="transformation/functions.html" title="Functions">
</head> </head>
@ -20,11 +20,11 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.transformation"></a><a href="transformation.html" title="Transformation">Transformation</a></h3></div></div></div> <a name="fusion.algorithms.transformation"></a><a href="transformation.html" title="Transformation">Transformation</a></h3></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt> <dt><span class="section"><a href="transformation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt> <dt><span class="section"><a href="transformation/metafunctions.html">Metafunctions</a></span></dt>
@ -45,27 +45,22 @@
the period during which you wish to use the results. the period during which you wish to use the results.
</p></td></tr> </p></td></tr>
</table></div> </table></div>
<a name="fusion.algorithm.transformation.header"></a><h4> <a name="fusion.algorithms.transformation.header"></a><h4>
<a name="id601396"></a> <a name="id593287"></a>
<a href="transformation.html#fusion.algorithm.transformation.header">Header</a> <a href="transformation.html#fusion.algorithms.transformation.header">Header</a>
</h4> </h4>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title> <title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation"> <link rel="up" href="../transformation.html" title="Transformation">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div> <a name="fusion.algorithms.transformation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="functions/filter.html">filter</a></span></dt> <dt><span class="section"><a href="functions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="functions/filter_if.html">filter_if</a></span></dt> <dt><span class="section"><a href="functions/filter_if.html">filter_if</a></span></dt>
@ -49,12 +49,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title> <title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.clear.description"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.description"></a><h6>
<a name="id610950"></a> <a name="id602328"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a> <a href="clear.html#fusion.algorithms.transformation.functions.clear.description">Description</a>
</h6> </h6>
<p> <p>
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a> returns an empty sequence. <a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a> returns an empty sequence.
</p> </p>
<a name="fusion.algorithm.transformation.functions.clear.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.synposis"></a><h6>
<a name="id610998"></a> <a name="id602377"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a> <a href="clear.html#fusion.algorithms.transformation.functions.clear.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">clear</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id611155"></a><p class="title"><b>Table 1.62. Parameters</b></p> <a name="id602535"></a><p class="title"><b>Table 1.62. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -75,7 +75,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -88,16 +88,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id611259"></a> <a name="id602638"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression <a href="clear.html#fusion.algorithms.transformation.functions.clear.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> <a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -105,37 +105,32 @@
<span class="bold"><b>Expression Semantics</b></span>: Returns a sequence <span class="bold"><b>Expression Semantics</b></span>: Returns a sequence
with no elements. with no elements.
</p> </p>
<a name="fusion.algorithm.transformation.functions.clear.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.complexity"></a><h6>
<a name="id611357"></a> <a name="id602737"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a> <a href="clear.html#fusion.algorithms.transformation.functions.clear.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.functions.clear.header"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.header"></a><h6>
<a name="id611386"></a> <a name="id602768"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.header">Header</a> <a href="clear.html#fusion.algorithms.transformation.functions.clear.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.clear.example"></a><h6> <a name="fusion.algorithms.transformation.functions.clear.example"></a><h6>
<a name="id611557"></a> <a name="id602876"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a> <a href="clear.html#fusion.algorithms.transformation.functions.clear.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">());</span> <span class="identifier">assert</span><span class="special">(</span><a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">());</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title> <title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.erase.description"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.description"></a><h6>
<a name="id611719"></a> <a name="id603041"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a> <a href="erase.html#fusion.algorithms.transformation.functions.erase.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence, containing all the elements of the original except Returns a new sequence, containing all the elements of the original except
those at a specified iterator, or between two iterators. those at a specified iterator, or between two iterators.
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.synposis"></a><h6>
<a name="id611752"></a> <a name="id603074"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a> <a href="erase.html#fusion.algorithms.transformation.functions.erase.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -54,7 +54,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it2</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it2</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id612214"></a><p class="title"><b>Table 1.63. Parameters</b></p> <a name="id603537"></a><p class="title"><b>Table 1.63. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -87,7 +87,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -106,7 +106,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -125,7 +125,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -140,16 +140,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id612441"></a> <a name="id603764"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression <a href="erase.html#fusion.algorithms.transformation.functions.erase.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span> <a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -162,7 +162,7 @@
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span> <a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -171,39 +171,34 @@
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>, all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those in the range [<tt class="computeroutput"><span class="identifier">first</span></tt>,<tt class="computeroutput"><span class="identifier">last</span></tt>). in their original order, except those in the range [<tt class="computeroutput"><span class="identifier">first</span></tt>,<tt class="computeroutput"><span class="identifier">last</span></tt>).
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.complexity"></a><h6>
<a name="id612699"></a> <a name="id604023"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a> <a href="erase.html#fusion.algorithms.transformation.functions.erase.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase.header"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.header"></a><h6>
<a name="id612730"></a> <a name="id604055"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.header">Header</a> <a href="erase.html#fusion.algorithms.transformation.functions.erase.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.erase.example"></a><h6> <a name="fusion.algorithms.transformation.functions.erase.example"></a><h6>
<a name="id612899"></a> <a name="id604163"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a> <a href="erase.html#fusion.algorithms.transformation.functions.erase.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="char">'c'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'c'</span><span class="special">));</span>
<span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title> <title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,23 +24,23 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.erase_key.description"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.description"></a><h6>
<a name="id613354"></a> <a name="id604621"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a> <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.description">Description</a>
</h6> </h6>
<p> <p>
For an <a href="../../../sequence/concepts/associative_sequence.html" title="Associative For an <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative Sequence">Associative
Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>, Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>,
returns a <a href="../../../sequence/concepts/forward_sequence.html" title="Forward returns a <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> containing all the elements of the original except those Sequence</a> containing all the elements of the original except those
with a given key. with a given key.
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase_key.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.synposis"></a><h6>
<a name="id613416"></a> <a name="id604684"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a> <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -50,7 +50,7 @@
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id613589"></a><p class="title"><b>Table 1.64. Parameters</b></p> <a name="id604857"></a><p class="title"><b>Table 1.64. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative Sequence">Associative
Sequence</a> Sequence</a>
</p> </p>
@ -114,16 +114,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id613729"></a> <a name="id604998"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span> <a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Key</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -132,37 +132,32 @@
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>, all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>. except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase_key.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.complexity"></a><h6>
<a name="id613861"></a> <a name="id605129"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a> <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.erase_key.header"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.header"></a><h6>
<a name="id613891"></a> <a name="id605160"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.header">Header</a> <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.erase_key.example"></a><h6> <a name="fusion.algorithms.transformation.functions.erase_key.example"></a><h6>
<a name="id614061"></a> <a name="id605268"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a> <a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a href="../../../container/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'b'</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_map.html" title="make_map"><tt class="computeroutput"><span class="identifier">make_map</span></tt></a><span class="special">&lt;</span><span class="keyword">long</span><span class="special">&gt;(</span><span class="char">'b'</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title> <title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.filter.description"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.description"></a><h6>
<a name="id601596"></a> <a name="id593426"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a> <a href="filter.html#fusion.algorithms.transformation.functions.filter.description">Description</a>
</h6> </h6>
<p> <p>
For a given sequence, filter returns a new sequences containing only For a given sequence, filter returns a new sequences containing only
the elements of a specified type. the elements of a specified type.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.synopsis"></a><h6>
<a name="id601629"></a> <a name="id593459"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a> <a href="filter.html#fusion.algorithms.transformation.functions.filter.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id601814"></a><p class="title"><b>Table 1.53. Parameters</b></p> <a name="id593645"></a><p class="title"><b>Table 1.53. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -109,16 +109,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id601952"></a> <a name="id593783"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression <a href="filter.html#fusion.algorithms.transformation.functions.filter.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span> <a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -128,38 +128,33 @@
of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>. to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">same_type</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.complexity"></a><h6>
<a name="id602167"></a> <a name="id593999"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a> <a href="filter.html#fusion.algorithms.transformation.functions.filter.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter.header"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.header"></a><h6>
<a name="id602199"></a> <a name="id594031"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.header">Header</a> <a href="filter.html#fusion.algorithms.transformation.functions.filter.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.filter.example"></a><h6> <a name="fusion.algorithms.transformation.functions.filter.example"></a><h6>
<a name="id602368"></a> <a name="id594139"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a> <a href="filter.html#fusion.algorithms.transformation.functions.filter.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">long</span><span class="special">,</span><span class="keyword">long</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title> <title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,19 +24,19 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.filter_if.description"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.description"></a><h6>
<a name="id602635"></a> <a name="id594409"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a> <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.description">Description</a>
</h6> </h6>
<p> <p>
For a given sequence, <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> returns a new sequences For a given sequence, <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> returns a new sequences
containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL containing only the elements with types for which a given <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Lambda Expression</a> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.synopsis"></a><h6>
<a name="id602726"></a> <a name="id594499"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a> <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -46,7 +46,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">filter_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id602911"></a><p class="title"><b>Table 1.54. Parameters</b></p> <a name="id594686"></a><p class="title"><b>Table 1.54. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -111,16 +111,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id603059"></a> <a name="id594835"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span> <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -131,38 +131,33 @@
evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. The order of the retained elements evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. The order of the retained elements
is the same as in the original sequence. is the same as in the original sequence.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.complexity"></a><h6>
<a name="id603224"></a> <a name="id595001"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a> <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.filter_if.header"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.header"></a><h6>
<a name="id603255"></a> <a name="id595033"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.header">Header</a> <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.filter_if.example"></a><h6> <a name="fusion.algorithms.transformation.functions.filter_if.example"></a><h6>
<a name="id603425"></a> <a name="id595141"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a> <a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3.0</span><span class="special">,</span><span class="number">4.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_integral</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title> <title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.insert.description"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.description"></a><h6>
<a name="id614267"></a> <a name="id605475"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a> <a href="insert.html#fusion.algorithms.transformation.functions.insert.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence with all the elements of the original, an a new Returns a new sequence with all the elements of the original, an a new
element inserted the position described by a given iterator. element inserted the position described by a given iterator.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.synposis"></a><h6>
<a name="id614299"></a> <a name="id605509"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a> <a href="insert.html#fusion.algorithms.transformation.functions.insert.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -46,7 +46,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id614489"></a><p class="title"><b>Table 1.65. Parameters</b></p> <a name="id605700"></a><p class="title"><b>Table 1.65. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -98,7 +98,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -129,16 +129,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id614674"></a> <a name="id605885"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression <a href="insert.html#fusion.algorithms.transformation.functions.insert.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> <a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">p</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -149,38 +149,33 @@
<tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator <tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator
<tt class="computeroutput"><span class="identifier">pos</span></tt>. <tt class="computeroutput"><span class="identifier">pos</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.complexity"></a><h6>
<a name="id614828"></a> <a name="id606040"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a> <a href="insert.html#fusion.algorithms.transformation.functions.insert.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert.header"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.header"></a><h6>
<a name="id614859"></a> <a name="id606073"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.header">Header</a> <a href="insert.html#fusion.algorithms.transformation.functions.insert.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.insert.example"></a><h6> <a name="fusion.algorithms.transformation.functions.insert.example"></a><h6>
<a name="id615028"></a> <a name="id606180"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a> <a href="insert.html#fusion.algorithms.transformation.functions.insert.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title> <title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.insert_range.description"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.description"></a><h6>
<a name="id615320"></a> <a name="id606475"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a> <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence with another sequence inserted at a specified Returns a new sequence with another sequence inserted at a specified
iterator. iterator.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert_range.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.synposis"></a><h6>
<a name="id615353"></a> <a name="id606508"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a> <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id615625"></a><p class="title"><b>Table 1.66. Parameters</b></p> <a name="id606782"></a><p class="title"><b>Table 1.66. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -99,7 +99,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -118,7 +118,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -132,16 +132,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id615818"></a> <a name="id606976"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span> <a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">range</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -152,38 +152,33 @@
inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>. inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>.
All elements retaining their ordering from the orignal sequences. All elements retaining their ordering from the orignal sequences.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert_range.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.complexity"></a><h6>
<a name="id615978"></a> <a name="id607136"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a> <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.insert_range.header"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.header"></a><h6>
<a name="id616008"></a> <a name="id607167"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.header">Header</a> <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.insert_range.example"></a><h6> <a name="fusion.algorithms.transformation.functions.insert_range.example"></a><h6>
<a name="id616178"></a> <a name="id607275"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a> <a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterator/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a href="../../../iterators/functions/next.html" title="next"><tt class="computeroutput"><span class="identifier">next</span></tt></a><span class="special">(</span><a href="../../../sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title> <title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.join.description"></a><h6> <a name="fusion.algorithms.transformation.functions.join.description"></a><h6>
<a name="id616509"></a> <a name="id607606"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a> <a href="join.html#fusion.algorithms.transformation.functions.join.description">Description</a>
</h6> </h6>
<p> <p>
Takes 2 sequences and returns a sequence containing the elements of the Takes 2 sequences and returns a sequence containing the elements of the
first followed by the elements of the second. first followed by the elements of the second.
</p> </p>
<a name="fusion.algorithm.transformation.functions.join.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.join.synopsis"></a><h6>
<a name="id616541"></a> <a name="id607640"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a> <a href="join.html#fusion.algorithms.transformation.functions.join.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -44,7 +44,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">join</span><span class="special">(</span><span class="identifier">LhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">RhSequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id616748"></a><p class="title"><b>Table 1.67. Parameters</b></p> <a name="id607847"></a><p class="title"><b>Table 1.67. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -77,7 +77,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -96,7 +96,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -110,16 +110,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.join.expression_semantics"></a><h6>
<a name="id616895"></a> <a name="id607995"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression <a href="join.html#fusion.algorithms.transformation.functions.join.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span> <a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -129,39 +129,34 @@
followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>. followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>.
The order of th elements is preserved. The order of th elements is preserved.
</p> </p>
<a name="fusion.algorithm.transformation.functions.join.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.join.complexity"></a><h6>
<a name="id617027"></a> <a name="id608128"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a> <a href="join.html#fusion.algorithms.transformation.functions.join.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.join.header"></a><h6> <a name="fusion.algorithms.transformation.functions.join.header"></a><h6>
<a name="id617058"></a> <a name="id608159"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.header">Header</a> <a href="join.html#fusion.algorithms.transformation.functions.join.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.join.example"></a><h6> <a name="fusion.algorithms.transformation.functions.join.example"></a><h6>
<a name="id617227"></a> <a name="id608266"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a> <a href="join.html#fusion.algorithms.transformation.functions.join.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">join</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="char">'a'</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="char">'b'</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title> <title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.pop_back.description"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.description"></a><h6>
<a name="id618843"></a> <a name="id609826"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a> <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence, with the last element of the original removed. Returns a new sequence, with the last element of the original removed.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_back.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.synopsis"></a><h6>
<a name="id618875"></a> <a name="id609859"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a> <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_back</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id619032"></a><p class="title"><b>Table 1.69. Parameters</b></p> <a name="id610016"></a><p class="title"><b>Table 1.69. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -75,7 +75,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -88,16 +88,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id619134"></a> <a name="id610120"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> <a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -107,37 +107,32 @@
except the last element. The elements in the new sequence are in the except the last element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>. same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_back.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.complexity"></a><h6>
<a name="id619256"></a> <a name="id610244"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a> <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_back.header"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.header"></a><h6>
<a name="id619288"></a> <a name="id610274"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.header">Header</a> <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.pop_back.example"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_back.example"></a><h6>
<a name="id619459"></a> <a name="id610382"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a> <a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title> <title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.pop_front.description"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.description"></a><h6>
<a name="id619633"></a> <a name="id610558"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a> <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence, with the first element of the original removed. Returns a new sequence, with the first element of the original removed.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_front.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.synopsis"></a><h6>
<a name="id619664"></a> <a name="id610591"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a> <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">pop_front</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id619821"></a><p class="title"><b>Table 1.70. Parameters</b></p> <a name="id610749"></a><p class="title"><b>Table 1.70. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -75,7 +75,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -88,16 +88,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id619925"></a> <a name="id610854"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> <a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -107,37 +107,32 @@
except the first element. The elements in the new sequence are in the except the first element. The elements in the new sequence are in the
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>. same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_front.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.complexity"></a><h6>
<a name="id620049"></a> <a name="id610977"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a> <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.pop_front.header"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.header"></a><h6>
<a name="id620078"></a> <a name="id611007"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.header">Header</a> <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.pop_front.example"></a><h6> <a name="fusion.algorithms.transformation.functions.pop_front.example"></a><h6>
<a name="id620248"></a> <a name="id611115"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a> <a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title> <title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.push_back.description"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.description"></a><h6>
<a name="id620429"></a> <a name="id611299"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a> <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence with an element added at the end. Returns a new sequence with an element added at the end.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_back.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.synopsis"></a><h6>
<a name="id620462"></a> <a name="id611332"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a> <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id620670"></a><p class="title"><b>Table 1.71. Parameters</b></p> <a name="id611542"></a><p class="title"><b>Table 1.71. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -109,16 +109,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id620812"></a> <a name="id611683"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> <a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -128,37 +128,32 @@
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
to the end. The elements are in the same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>. to the end. The elements are in the same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_back.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.complexity"></a><h6>
<a name="id620957"></a> <a name="id611827"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a> <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_back.header"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.header"></a><h6>
<a name="id620987"></a> <a name="id611858"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.header">Header</a> <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.push_back.example"></a><h6> <a name="fusion.algorithms.transformation.functions.push_back.example"></a><h6>
<a name="id621158"></a> <a name="id611966"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a> <a href="push_back.html#fusion.algorithms.transformation.functions.push_back.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">4</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title> <title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.push_front.description"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.description"></a><h6>
<a name="id621371"></a> <a name="id612181"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a> <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence with an element added at the beginning. Returns a new sequence with an element added at the beginning.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_front.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.synopsis"></a><h6>
<a name="id621404"></a> <a name="id612213"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a> <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id621613"></a><p class="title"><b>Table 1.72. Parameters</b></p> <a name="id612423"></a><p class="title"><b>Table 1.72. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -109,16 +109,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id621753"></a> <a name="id612563"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span> <a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -129,37 +129,32 @@
to the beginning. The elements are in the same order as they were in to the beginning. The elements are in the same order as they were in
<tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_front.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.complexity"></a><h6>
<a name="id621898"></a> <a name="id612710"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a> <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.push_front.header"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.header"></a><h6>
<a name="id621928"></a> <a name="id612742"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.header">Header</a> <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.push_front.example"></a><h6> <a name="fusion.algorithms.transformation.functions.push_front.example"></a><h6>
<a name="id622098"></a> <a name="id612850"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a> <a href="push_front.html#fusion.algorithms.transformation.functions.push_front.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span><span class="number">0</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title> <title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.remove.description"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.description"></a><h6>
<a name="id608092"></a> <a name="id599638"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a> <a href="remove.html#fusion.algorithms.transformation.functions.remove.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence, with all the elements of the original sequence, Returns a new sequence, with all the elements of the original sequence,
except those of a given type. except those of a given type.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.synopsis"></a><h6>
<a name="id608125"></a> <a name="id599672"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a> <a href="remove.html#fusion.algorithms.transformation.functions.remove.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id608310"></a><p class="title"><b>Table 1.59. Parameters</b></p> <a name="id599857"></a><p class="title"><b>Table 1.59. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -109,16 +109,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id608448"></a> <a name="id599996"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression <a href="remove.html#fusion.algorithms.transformation.functions.remove.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span> <a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -128,38 +128,33 @@
in their original order, except those of type <tt class="computeroutput"><span class="identifier">T</span></tt>. in their original order, except those of type <tt class="computeroutput"><span class="identifier">T</span></tt>.
Equivalent to <tt class="computeroutput"><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>. Equivalent to <tt class="computeroutput"><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.complexity"></a><h6>
<a name="id608665"></a> <a name="id600212"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a> <a href="remove.html#fusion.algorithms.transformation.functions.remove.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove.header"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.header"></a><h6>
<a name="id608696"></a> <a name="id600244"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.header">Header</a> <a href="remove.html#fusion.algorithms.transformation.functions.remove.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.remove.example"></a><h6> <a name="fusion.algorithms.transformation.functions.remove.example"></a><h6>
<a name="id608866"></a> <a name="id600352"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a> <a href="remove.html#fusion.algorithms.transformation.functions.remove.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title> <title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.remove_if.description"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.description"></a><h6>
<a name="id609084"></a> <a name="id600574"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a> <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence, containing all the elements of the original except Returns a new sequence, containing all the elements of the original except
those where a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>. those where a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.synopsis"></a><h6>
<a name="id609129"></a> <a name="id600620"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a> <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id609314"></a><p class="title"><b>Table 1.60. Parameters</b></p> <a name="id600806"></a><p class="title"><b>Table 1.60. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -78,7 +78,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -110,16 +110,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id609461"></a> <a name="id600952"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span> <a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -130,38 +130,33 @@
<tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Equivalent to <tt class="computeroutput"><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;</span> <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. Equivalent to <tt class="computeroutput"><a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">not_</span><span class="special">&lt;</span><span class="identifier">Pred</span><span class="special">&gt;</span>
<span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>. <span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.complexity"></a><h6>
<a name="id609711"></a> <a name="id601203"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a> <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.remove_if.header"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.header"></a><h6>
<a name="id609740"></a> <a name="id601233"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.header">Header</a> <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.remove_if.example"></a><h6> <a name="fusion.algorithms.transformation.functions.remove_if.example"></a><h6>
<a name="id609910"></a> <a name="id601341"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a> <a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">const</span> <a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span> <span class="keyword">const</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2.0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">is_floating_point</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title> <title>replace</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.replace.description"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.description"></a><h6>
<a name="id605769"></a> <a name="id597429"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a> <a href="replace.html#fusion.algorithms.transformation.functions.replace.description">Description</a>
</h6> </h6>
<p> <p>
Replaces each value within a sequence of a given type and value with Replaces each value within a sequence of a given type and value with
a new value. a new value.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.synopsis"></a><h6>
<a name="id605801"></a> <a name="id597462"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a> <a href="replace.html#fusion.algorithms.transformation.functions.replace.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -46,7 +46,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id606045"></a><p class="title"><b>Table 1.57. Parameters</b></p> <a name="id597706"></a><p class="title"><b>Table 1.57. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></tt> Sequence</a>, <tt class="computeroutput"><span class="identifier">e</span> <span class="special">==</span> <span class="identifier">old_value</span></tt>
is a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>, is a valid expression, convertible to <tt class="computeroutput"><span class="keyword">bool</span></tt>,
@ -131,16 +131,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id606294"></a> <a name="id597954"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression <a href="replace.html#fusion.algorithms.transformation.functions.replace.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span> <a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -150,37 +150,32 @@
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
to elements with the same type and equal to <tt class="computeroutput"><span class="identifier">old_value</span></tt>. to elements with the same type and equal to <tt class="computeroutput"><span class="identifier">old_value</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.complexity"></a><h6>
<a name="id606450"></a> <a name="id598111"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a> <a href="replace.html#fusion.algorithms.transformation.functions.replace.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace.header"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.header"></a><h6>
<a name="id606482"></a> <a name="id598143"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.header">Header</a> <a href="replace.html#fusion.algorithms.transformation.functions.replace.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.replace.example"></a><h6> <a name="fusion.algorithms.transformation.functions.replace.example"></a><h6>
<a name="id606652"></a> <a name="id598251"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a> <a href="replace.html#fusion.algorithms.transformation.functions.replace.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title> <title>replace_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,19 +24,19 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.replace_if.description"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.description"></a><h6>
<a name="id606847"></a> <a name="id598449"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a> <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.description">Description</a>
</h6> </h6>
<p> <p>
Replaces each element of a given sequence for which an unary function Replaces each element of a given sequence for which an unary function
object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt> object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>
replaced with a new value. replaced with a new value.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.synopsis"></a><h6>
<a name="id606892"></a> <a name="id598494"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a> <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id607151"></a><p class="title"><b>Table 1.58. Parameters</b></p> <a name="id598754"></a><p class="title"><b>Table 1.58. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -130,16 +130,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id607390"></a> <a name="id598994"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span> <a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -150,24 +150,23 @@
to each element for which <tt class="computeroutput"><span class="identifier">f</span></tt> to each element for which <tt class="computeroutput"><span class="identifier">f</span></tt>
evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>. evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.complexity"></a><h6>
<a name="id607558"></a> <a name="id599163"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a> <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.replace_if.header"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.header"></a><h6>
<a name="id607587"></a> <a name="id599194"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.header">Header</a> <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.replace_if.example"></a><h6> <a name="fusion.algorithms.transformation.functions.replace_if.example"></a><h6>
<a name="id607757"></a> <a name="id599302"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a> <a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</span> <span class="keyword">struct</span> <span class="identifier">odd</span>
@ -179,17 +178,13 @@
<span class="special">}</span> <span class="special">}</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">),</span> <span class="identifier">odd</span><span class="special">(),</span> <span class="number">3</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title> <title>reverse</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.reverse.description"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.description"></a><h6>
<a name="id610158"></a> <a name="id601590"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a> <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.description">Description</a>
</h6> </h6>
<p> <p>
Returns a new sequence with the elements of the original in reverse order. Returns a new sequence with the elements of the original in reverse order.
</p> </p>
<a name="fusion.algorithm.transformation.functions.reverse.synposis"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.synposis"></a><h6>
<a name="id610190"></a> <a name="id601623"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a> <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.synposis">Synposis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span> <span class="keyword">typename</span> <a href="../metafunctions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id610346"></a><p class="title"><b>Table 1.61. Parameters</b></p> <a name="id601782"></a><p class="title"><b>Table 1.61. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -75,7 +75,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional Sequence">Bidirectional
Sequence</a> Sequence</a>
</p> </p>
@ -88,16 +88,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id610450"></a> <a name="id601885"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span> <a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional Sequence">Bidirectional
Sequence</a>. Sequence</a>.
</p> </p>
@ -106,37 +106,32 @@
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt> all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
in reverse order. in reverse order.
</p> </p>
<a name="fusion.algorithm.transformation.functions.reverse.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.complexity"></a><h6>
<a name="id610558"></a> <a name="id601995"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a> <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.reverse.header"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.header"></a><h6>
<a name="id610589"></a> <a name="id602027"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.header">Header</a> <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.reverse.example"></a><h6> <a name="fusion.algorithms.transformation.functions.reverse.example"></a><h6>
<a name="id610758"></a> <a name="id602134"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a> <a href="reverse.html#fusion.algorithms.transformation.functions.reverse.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">))</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">1</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title> <title>transform</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.transform.description"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.description"></a><h6>
<a name="id603720"></a> <a name="id595437"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a> <a href="transform.html#fusion.algorithms.transformation.functions.transform.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
@ -36,9 +36,9 @@
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt> sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.transform.unary_version_synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.unary_version_synopsis"></a><h6>
<a name="id603838"></a> <a name="id595555"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary <a href="transform.html#fusion.algorithms.transformation.functions.transform.unary_version_synopsis">Unary
version synopsis</a> version synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -50,7 +50,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id604044"></a><p class="title"><b>Table 1.55. Parameters</b></p> <a name="id595761"></a><p class="title"><b>Table 1.55. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -117,16 +117,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id604317"></a> <a name="id596034"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression <a href="transform.html#fusion.algorithms.transformation.functions.transform.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> <a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -135,9 +135,9 @@
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt> the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
within <tt class="computeroutput"><span class="identifier">seq</span></tt>. within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.functions.transform.binary_version_synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.binary_version_synopsis"></a><h6>
<a name="id604476"></a> <a name="id596194"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary <a href="transform.html#fusion.algorithms.transformation.functions.transform.binary_version_synopsis">Binary
version synopsis</a> version synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -150,7 +150,7 @@
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id604743"></a><p class="title"><b>Table 1.56. Parameters</b></p> <a name="id596462"></a><p class="title"><b>Table 1.56. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -183,7 +183,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -202,7 +202,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -238,7 +238,7 @@
</table> </table>
</div> </div>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -247,24 +247,23 @@
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively. within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
</p> </p>
<a name="fusion.algorithm.transformation.functions.transform.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.complexity"></a><h6>
<a name="id605230"></a> <a name="id596949"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a> <a href="transform.html#fusion.algorithms.transformation.functions.transform.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.transform.header"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.header"></a><h6>
<a name="id605260"></a> <a name="id596980"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.header">Header</a> <a href="transform.html#fusion.algorithms.transformation.functions.transform.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.transform.example"></a><h6> <a name="fusion.algorithms.transformation.functions.transform.example"></a><h6>
<a name="id605430"></a> <a name="id597088"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a> <a href="transform.html#fusion.algorithms.transformation.functions.transform.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">triple</span> <span class="keyword">struct</span> <span class="identifier">triple</span>
@ -277,17 +276,13 @@
<span class="special">};</span> <span class="special">};</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title> <title>zip</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions"> <link rel="up" href="../functions.html" title="Functions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div> <a name="fusion.algorithms.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.functions.zip.description"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.description"></a><h6>
<a name="id617543"></a> <a name="id608584"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a> <a href="zip.html#fusion.algorithms.transformation.functions.zip.description">Description</a>
</h6> </h6>
<p> <p>
Zips sequences together to form a single sequence, whos members are tuples Zips sequences together to form a single sequence, whos members are tuples
of the members of the component sequences. of the members of the component sequences.
</p> </p>
<a name="fusion.algorithm.transformation.functions.zip.synopsis"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.synopsis"></a><h6>
<a name="id617576"></a> <a name="id608617"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a> <a href="zip.html#fusion.algorithms.transformation.functions.zip.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seqN</span><span class="special">);</span> <span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id617860"></a><p class="title"><b>Table 1.68. Parameters</b></p> <a name="id608902"></a><p class="title"><b>Table 1.68. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -80,7 +80,7 @@
</td> </td>
<td> <td>
<p> <p>
Each sequence is a model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward Each sequence is a model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -93,16 +93,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id617976"></a> <a name="id609018"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression <a href="zip.html#fusion.algorithms.transformation.functions.zip.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span> <a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -116,39 +116,34 @@
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span> would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt> <span class="char">'c'</span><span class="special">))</span></tt>
</p> </p>
<a name="fusion.algorithm.transformation.functions.zip.complexity"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.complexity"></a><h6>
<a name="id618285"></a> <a name="id609327"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a> <a href="zip.html#fusion.algorithms.transformation.functions.zip.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.functions.zip.header"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.header"></a><h6>
<a name="id618316"></a> <a name="id609359"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.header">Header</a> <a href="zip.html#fusion.algorithms.transformation.functions.zip.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.functions.zip.example"></a><h6> <a name="fusion.algorithms.transformation.functions.zip.example"></a><h6>
<a name="id618485"></a> <a name="id609465"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a> <a href="zip.html#fusion.algorithms.transformation.functions.zip.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v1</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">);</span>
<a href="../../../container/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span> <a href="../../../sequences/containers/vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="keyword">char</span><span class="special">&gt;</span> <span class="identifier">v2</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="zip.html" title="zip"><tt class="computeroutput"><span class="identifier">zip</span></tt></a><span class="special">(</span><span class="identifier">v1</span><span class="special">,</span> <span class="identifier">v2</span><span class="special">)</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title> <title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation"> <link rel="up" href="../transformation.html" title="Transformation">
@ -24,7 +24,7 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div> <a name="fusion.algorithms.transformation.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl> <div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/filter.html">filter</a></span></dt> <dt><span class="section"><a href="metafunctions/filter.html">filter</a></span></dt>
<dt><span class="section"><a href="metafunctions/filter_if.html">filter_if</a></span></dt> <dt><span class="section"><a href="metafunctions/filter_if.html">filter_if</a></span></dt>
@ -49,12 +49,8 @@
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title> <title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.clear.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.clear.description"></a><h6>
<a name="id629486"></a> <a name="id619772"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a> <a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/clear.html" title="clear"><tt class="computeroutput"><span class="identifier">clear</span></tt></a>, given the input sequence
type. type.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.clear.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.clear.synopsis"></a><h6>
<a name="id629535"></a> <a name="id619822"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a> <a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id629637"></a><p class="title"><b>Table 1.82. Parameters</b></p> <a name="id619924"></a><p class="title"><b>Table 1.82. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -90,46 +90,41 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id629733"></a> <a name="id620020"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression <a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="clear.html" title="clear"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
<p> <p>
<span class="bold"><b>Semantics</b></span>: Returns an empty sequence. <span class="bold"><b>Semantics</b></span>: Returns an empty sequence.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.clear.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.clear.complexity"></a><h6>
<a name="id629847"></a> <a name="id620134"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a> <a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.clear.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.clear.header"></a><h6>
<a name="id629877"></a> <a name="id620166"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.header">Header</a> <a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title> <title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<p> <p>
Returns the result type of <a href="../functions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/erase.html" title="erase"><tt class="computeroutput"><span class="identifier">erase</span></tt></a>, given the input sequence
and range delimiting iterator types. and range delimiting iterator types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase.description"></a><h6>
<a name="id630092"></a> <a name="id620320"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a> <a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.description">Description</a>
</h6> </h6>
<a name="fusion.algorithm.transformation.metafunctions.erase.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase.synopsis"></a><h6>
<a name="id630118"></a> <a name="id620347"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a> <a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id630263"></a><p class="title"><b>Table 1.83. Parameters</b></p> <a name="id620493"></a><p class="title"><b>Table 1.83. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -100,7 +100,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -119,7 +119,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -133,16 +133,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id630457"></a> <a name="id620686"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression <a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -154,7 +154,7 @@
<a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="erase.html" title="erase"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">It1</span><span class="special">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -163,30 +163,25 @@
the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt> the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt>
and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed. and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase.complexity"></a><h6>
<a name="id630726"></a> <a name="id620956"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a> <a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase.header"></a><h6>
<a name="id630756"></a> <a name="id620986"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.header">Header</a> <a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title> <title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase_key.description"></a><h6>
<a name="id630950"></a> <a name="id621119"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a> <a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a>, given the sequence Returns the result type of <a href="../functions/erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">erase_key</span></tt></a>, given the sequence
and key types. and key types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase_key.synopsis"></a><h6>
<a name="id631000"></a> <a name="id621171"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a> <a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id631120"></a><p class="title"><b>Table 1.84. Parameters</b></p> <a name="id621291"></a><p class="title"><b>Table 1.84. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative Sequence">Associative
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id631260"></a> <a name="id621431"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression <a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="erase_key.html" title="erase_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative Sequence">Associative
Sequence</a>. Sequence</a>.
</p> </p>
@ -130,30 +130,25 @@
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>. except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase_key.complexity"></a><h6>
<a name="id631408"></a> <a name="id621580"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a> <a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.erase_key.header"></a><h6>
<a name="id631439"></a> <a name="id621611"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.header">Header</a> <a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title> <title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.filter.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter.description"></a><h6>
<a name="id622330"></a> <a name="id613083"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a> <a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a> given the sequence type Returns the result type of <a href="../functions/filter.html" title="filter"><tt class="computeroutput"><span class="identifier">filter</span></tt></a> given the sequence type
and type to retain. and type to retain.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter.synopsis"></a><h6>
<a name="id622380"></a> <a name="id613133"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a> <a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id622499"></a><p class="title"><b>Table 1.73. Parameter</b></p> <a name="id613252"></a><p class="title"><b>Table 1.73. Parameter</b></p>
<table class="table" summary="Parameter"> <table class="table" summary="Parameter">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id622640"></a> <a name="id613393"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression <a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="filter.html" title="filter"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -132,30 +132,25 @@
to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> to <tt class="computeroutput"><a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>. <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter.complexity"></a><h6>
<a name="id622900"></a> <a name="id613656"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a> <a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter.header"></a><h6>
<a name="id622931"></a> <a name="id613688"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.header">Header</a> <a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title> <title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,19 +24,19 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter_if.description"></a><h6>
<a name="id623123"></a> <a name="id613818"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a> <a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> given the sequence Returns the result type of <a href="../functions/filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">filter_if</span></tt></a> given the sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate type. Lambda Expression</a> predicate type.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id623182"></a> <a name="id613877"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a> <a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id623303"></a><p class="title"><b>Table 1.74. Parameter</b></p> <a name="id613998"></a><p class="title"><b>Table 1.74. Parameter</b></p>
<table class="table" summary="Parameter"> <table class="table" summary="Parameter">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -114,16 +114,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id623448"></a> <a name="id614143"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression <a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="filter_if.html" title="filter_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -133,30 +133,25 @@
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>. to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter_if.complexity"></a><h6>
<a name="id623632"></a> <a name="id614327"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a> <a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.filter_if.header"></a><h6>
<a name="id623663"></a> <a name="id614358"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.header">Header</a> <a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title> <title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.insert.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert.description"></a><h6>
<a name="id631635"></a> <a name="id621744"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a> <a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a>, given the sequence, Returns the result type of <a href="../functions/insert.html" title="insert"><tt class="computeroutput"><span class="identifier">insert</span></tt></a>, given the sequence,
position iterator and insertion types. position iterator and insertion types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert.synopsis"></a><h6>
<a name="id631686"></a> <a name="id621796"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a> <a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id631823"></a><p class="title"><b>Table 1.85. Parameters</b></p> <a name="id621933"></a><p class="title"><b>Table 1.85. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -101,7 +101,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -132,16 +132,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id632008"></a> <a name="id622119"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression <a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="insert.html" title="insert"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -151,30 +151,25 @@
at position <tt class="computeroutput"><span class="identifier">Position</span></tt> at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>. in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert.complexity"></a><h6>
<a name="id632180"></a> <a name="id622293"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a> <a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert.header"></a><h6>
<a name="id632209"></a> <a name="id622324"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.header">Header</a> <a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title> <title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert_range.description"></a><h6>
<a name="id632401"></a> <a name="id622454"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a> <a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a>, given the input Returns the result type of <a href="../functions/insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">insert_range</span></tt></a>, given the input
sequence, position iterator and insertion range types. sequence, position iterator and insertion range types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert_range.synopsis"></a><h6>
<a name="id632452"></a> <a name="id622507"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a> <a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id632591"></a><p class="title"><b>Table 1.86. Parameters</b></p> <a name="id622645"></a><p class="title"><b>Table 1.86. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -101,7 +101,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward Iterator">Forward
Iterator</a> Iterator</a>
</p> </p>
@ -120,7 +120,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -134,16 +134,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id632785"></a> <a name="id622840"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression <a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="insert_range.html" title="insert_range"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Position</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -153,30 +153,25 @@
at position <tt class="computeroutput"><span class="identifier">Position</span></tt> at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>. into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert_range.complexity"></a><h6>
<a name="id632959"></a> <a name="id623014"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a> <a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.insert_range.header"></a><h6>
<a name="id632992"></a> <a name="id623045"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.header">Header</a> <a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title> <title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,17 +24,17 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.join.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.join.description"></a><h6>
<a name="id633185"></a> <a name="id623176"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a> <a href="join.html#fusion.algorithms.transformation.metafunctions.join.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result of joining 2 sequences, given the sequence types. Returns the result of joining 2 sequences, given the sequence types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.join.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.join.synopsis"></a><h6>
<a name="id633218"></a> <a name="id623208"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a> <a href="join.html#fusion.algorithms.transformation.metafunctions.join.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -46,16 +46,16 @@
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.metafunctions.join.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.join.expression_semantics"></a><h6>
<a name="id633347"></a> <a name="id623338"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression <a href="join.html#fusion.algorithms.transformation.metafunctions.join.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="join.html" title="join"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></tt></a><span class="special">&lt;</span><span class="identifier">LhSequence</span><span class="special">,</span> <span class="identifier">RhSequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -65,30 +65,25 @@
followed by the elements of <tt class="computeroutput"><span class="identifier">RhSequence</span></tt>. followed by the elements of <tt class="computeroutput"><span class="identifier">RhSequence</span></tt>.
The order of the elements in the 2 sequences is preserved. The order of the elements in the 2 sequences is preserved.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.join.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.join.complexity"></a><h6>
<a name="id633497"></a> <a name="id623488"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a> <a href="join.html#fusion.algorithms.transformation.metafunctions.join.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.join.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.join.header"></a><h6>
<a name="id633527"></a> <a name="id623519"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.header">Header</a> <a href="join.html#fusion.algorithms.transformation.metafunctions.join.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title> <title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_back.description"></a><h6>
<a name="id634437"></a> <a name="id624310"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a> <a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">pop_back</span></tt></a>, given the input sequence
type. type.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_back.synopsis"></a><h6>
<a name="id634487"></a> <a name="id625180"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a> <a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id634590"></a><p class="title"><b>Table 1.87. Parameters</b></p> <a name="id387555"></a><p class="title"><b>Table 1.87. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -92,16 +92,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id634693"></a> <a name="id385622"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression <a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="pop_back.html" title="pop_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -110,30 +110,25 @@
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt> the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the last element. except the last element.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_back.complexity"></a><h6>
<a name="id634821"></a> <a name="id626099"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a> <a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_back.header"></a><h6>
<a name="id634852"></a> <a name="id626126"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.header">Header</a> <a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">tranformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">tranformation</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title> <title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_front.description"></a><h6>
<a name="id635044"></a> <a name="id626241"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a> <a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">pop_front</span></tt></a>, given the input sequence
type. type.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_front.synopsis"></a><h6>
<a name="id635094"></a> <a name="id626286"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a> <a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id635197"></a><p class="title"><b>Table 1.88. Parameters</b></p> <a name="id626378"></a><p class="title"><b>Table 1.88. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -92,16 +92,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id635300"></a> <a name="id626477"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression <a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="pop_front.html" title="pop_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -110,25 +110,25 @@
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt> the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the first element. except the first element.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.pop_front.complexity"></a><h6>
<a name="id635427"></a> <a name="id626590"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a> <a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<p> <a name="fusion.algorithms.transformation.metafunctions.pop_front.header"></a><h6>
/algorithm/transformation/pop_front.hpp&gt; <a name="id626617"></a>
</p> <a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">pop_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title> <title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.push_back.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_back.description"></a><h6>
<a name="id635486"></a> <a name="id626733"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a> <a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a>, given the types of Returns the result type of <a href="../functions/push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">push_back</span></tt></a>, given the types of
the input sequence and element to push. the input sequence and element to push.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_back.synopsis"></a><h6>
<a name="id635538"></a> <a name="id626779"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a> <a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id635658"></a><p class="title"><b>Table 1.89. Parameters</b></p> <a name="id626887"></a><p class="title"><b>Table 1.89. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id635798"></a> <a name="id627022"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression <a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="push_back.html" title="push_back"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -131,25 +131,25 @@
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt> and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the end. added to the end.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_back.complexity"></a><h6>
<a name="id635947"></a> <a name="id627154"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a> <a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<p> <a name="fusion.algorithms.transformation.metafunctions.push_back.header"></a><h6>
/algorithm/transformation/push_back.hpp&gt; <a name="id627181"></a>
</p> <a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,12 +2,12 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title> <title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="push_back.html" title="push_back"> <link rel="prev" href="push_back.html" title="push_back">
<link rel="next" href="../../../tuple.html" title="Tuple"> <link rel="next" href="../../../tuples.html" title="Tuples">
</head> </head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr> <table cellpadding="2" width="100%"><tr>
@ -20,22 +20,22 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.push_front.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_front.description"></a><h6>
<a name="id636005"></a> <a name="id627296"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a> <a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a>, given the types Returns the result type of <a href="../functions/push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">push_front</span></tt></a>, given the types
of the input sequence and element to push. of the input sequence and element to push.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_front.synopsis"></a><h6>
<a name="id636057"></a> <a name="id627343"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a> <a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id636176"></a><p class="title"><b>Table 1.90. Parameters</b></p> <a name="id627451"></a><p class="title"><b>Table 1.90. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id636317"></a> <a name="id627585"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression <a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="push_front.html" title="push_front"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -131,29 +131,29 @@
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt> and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the beginning. added to the beginning.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.push_front.complexity"></a><h6>
<a name="id636466"></a> <a name="id627717"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a> <a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<p> <a name="fusion.algorithms.transformation.metafunctions.push_front.header"></a><h6>
/algorithm/transformation/push_front.hpp&gt; <a name="id627744"></a>
</p> <a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.header">Header</a>
</h6>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuples.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title> <title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.remove.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove.description"></a><h6>
<a name="id627330"></a> <a name="id617791"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a> <a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a>, given the sequence and Returns the result type of <a href="../functions/remove.html" title="remove"><tt class="computeroutput"><span class="identifier">remove</span></tt></a>, given the sequence and
removal types. removal types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove.synopsis"></a><h6>
<a name="id627380"></a> <a name="id617843"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a> <a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id627499"></a><p class="title"><b>Table 1.79. Parameters</b></p> <a name="id617962"></a><p class="title"><b>Table 1.79. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id627638"></a> <a name="id618101"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression <a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="remove.html" title="remove"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -132,30 +132,25 @@
to <tt class="computeroutput"><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> to <tt class="computeroutput"><a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>. <span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_same</span><span class="special">&lt;</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">_</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove.complexity"></a><h6>
<a name="id627898"></a> <a name="id618364"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a> <a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove.header"></a><h6>
<a name="id627928"></a> <a name="id618395"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.header">Header</a> <a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title> <title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,19 +24,19 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove_if.description"></a><h6>
<a name="id628121"></a> <a name="id618525"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a> <a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">remove_if</span></tt></a>, given the input sequence
and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL and unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> predicate types. Lambda Expression</a> predicate types.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id628179"></a> <a name="id618583"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a> <a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,7 +49,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id628299"></a><p class="title"><b>Table 1.80. Parameters</b></p> <a name="id618704"></a><p class="title"><b>Table 1.80. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -82,7 +82,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -114,16 +114,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id628477"></a> <a name="id618882"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression <a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="remove_if.html" title="remove_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">Pred</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -133,30 +133,25 @@
for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates for which <tt class="computeroutput"><span class="identifier">Pred</span></tt> evaluates
to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>. to <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">false_</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove_if.complexity"></a><h6>
<a name="id628662"></a> <a name="id619066"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a> <a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.remove_if.header"></a><h6>
<a name="id628692"></a> <a name="id619097"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.header">Header</a> <a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title> <title>replace</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.replace.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace.description"></a><h6>
<a name="id625898"></a> <a name="id616479"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.description">Description</a> <a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>, given the types of Returns the result type of <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>, given the types of
the input sequence and element to replace. the input sequence and element to replace.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace.synopsis"></a><h6>
<a name="id625949"></a> <a name="id616530"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.synopsis">Synopsis</a> <a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -48,7 +48,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id626068"></a><p class="title"><b>Table 1.77. Parameters</b></p> <a name="id616649"></a><p class="title"><b>Table 1.77. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -81,7 +81,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -112,16 +112,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.replace.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace.expression_semantics"></a><h6>
<a name="id626211"></a> <a name="id616791"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.expression_semantics">Expression <a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="replace.html" title="replace"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -129,30 +129,25 @@
<span class="bold"><b>Semantics</b></span>: Returns the return type of <span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>. <a href="../functions/replace.html" title="replace"><tt class="computeroutput"><span class="identifier">replace</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace.complexity"></a><h6>
<a name="id626353"></a> <a name="id616934"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.complexity">Complexity</a> <a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace.header"></a><h6>
<a name="id626384"></a> <a name="id616965"></a>
<a href="replace.html#fusion.algorithm.transformation.metafunctions.replace.header">Header</a> <a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title> <title>replace_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace_if.description"></a><h6>
<a name="id626576"></a> <a name="id617095"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.description">Description</a> <a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>, given the types Returns the result type of <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>, given the types
@ -35,9 +35,9 @@
Object">Polymorphic Object">Polymorphic
Function Object</a> predicate and replacement object. Function Object</a> predicate and replacement object.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace_if.synopsis"></a><h6>
<a name="id626636"></a> <a name="id617155"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.synopsis">Synopsis</a> <a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -50,7 +50,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id626773"></a><p class="title"><b>Table 1.78. Parameters</b></p> <a name="id617292"></a><p class="title"><b>Table 1.78. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -133,16 +133,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
<a name="id626956"></a> <a name="id617476"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.expression_semantics">Expression <a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -150,30 +150,25 @@
<span class="bold"><b>Semantics</b></span>: Returns the return type of <span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>. <a href="../functions/replace_if.html" title="replace_if"><tt class="computeroutput"><span class="identifier">replace_if</span></tt></a>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace_if.complexity"></a><h6>
<a name="id627109"></a> <a name="id617630"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.complexity">Complexity</a> <a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.replace_if.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.replace_if.header"></a><h6>
<a name="id627139"></a> <a name="id617661"></a>
<a href="replace_if.html#fusion.algorithm.transformation.metafunctions.replace_if.header">Header</a> <a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title> <title>reverse</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.reverse.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.reverse.description"></a><h6>
<a name="id628883"></a> <a name="id619227"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.description">Description</a> <a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.description">Description</a>
</h6> </h6>
<p> <p>
Returns the result type of <a href="../functions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a>, given the input sequence Returns the result type of <a href="../functions/reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">reverse</span></tt></a>, given the input sequence
type. type.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.reverse.synopsis"></a><h6>
<a name="id628932"></a> <a name="id619278"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.synopsis">Synopsis</a> <a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -47,7 +47,7 @@
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id629034"></a><p class="title"><b>Table 1.81. Parameters</b></p> <a name="id619380"></a><p class="title"><b>Table 1.81. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -79,7 +79,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional Sequence">Bidirectional
Sequence</a> Sequence</a>
</p> </p>
@ -92,16 +92,16 @@
</tr></tbody> </tr></tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.reverse.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.reverse.expression_semantics"></a><h6>
<a name="id629137"></a> <a name="id619485"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.expression_semantics">Expression <a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span> <a href="reverse.html" title="reverse"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional Sequence">Bidirectional
Sequence</a>. Sequence</a>.
</p> </p>
@ -109,30 +109,25 @@
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the <span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements in the reverse order to <tt class="computeroutput"><span class="identifier">Sequence</span></tt>. elements in the reverse order to <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.reverse.complexity"></a><h6>
<a name="id629264"></a> <a name="id619611"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.complexity">Complexity</a> <a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.reverse.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.reverse.header"></a><h6>
<a name="id629295"></a> <a name="id619642"></a>
<a href="reverse.html#fusion.algorithm.transformation.metafunctions.reverse.header">Header</a> <a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title> <title>transform</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,10 +24,10 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.transform.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.description"></a><h6>
<a name="id623854"></a> <a name="id614488"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.description">Description</a> <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.description">Description</a>
</h6> </h6>
<p> <p>
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
@ -36,9 +36,9 @@
sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt> sequence with elements created by applying <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> to each element of <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.unary_version_synopsis"></a><h6>
<a name="id623970"></a> <a name="id614606"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.unary_version_synopsis">Unary <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.unary_version_synopsis">Unary
version synopsis</a> version synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -50,7 +50,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id624173"></a><p class="title"><b>Table 1.75. Parameters</b></p> <a name="id614810"></a><p class="title"><b>Table 1.75. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -83,7 +83,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -117,16 +117,16 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<a name="fusion.algorithm.transformation.metafunctions.transform.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
<a name="id624445"></a> <a name="id615083"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.expression_semantics">Expression <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span> <a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -135,9 +135,9 @@
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt> the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt> for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
within <tt class="computeroutput"><span class="identifier">seq</span></tt>. within <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.binary_version_synopsis"></a><h6>
<a name="id624605"></a> <a name="id615244"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.binary_version_synopsis">Binary <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.binary_version_synopsis">Binary
version synopsis</a> version synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -150,7 +150,7 @@
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span> <span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre> </pre>
<div class="table"> <div class="table">
<a name="id624872"></a><p class="title"><b>Table 1.76. Parameters</b></p> <a name="id615512"></a><p class="title"><b>Table 1.76. Parameters</b></p>
<table class="table" summary="Parameters"> <table class="table" summary="Parameters">
<colgroup> <colgroup>
<col> <col>
@ -183,7 +183,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -202,7 +202,7 @@
</td> </td>
<td> <td>
<p> <p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a> Sequence</a>
</p> </p>
@ -238,7 +238,7 @@
</table> </table>
</div> </div>
<p> <p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward <span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence">Forward
Sequence</a>. Sequence</a>.
</p> </p>
@ -247,24 +247,23 @@
the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> the return values of <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e1</span><span class="special">,</span> <span class="identifier">e2</span><span class="special">)</span></tt> for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt>
within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively. within <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">seq2</span></tt> respectively.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.transform.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.complexity"></a><h6>
<a name="id625361"></a> <a name="id616001"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.complexity">Complexity</a> <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Returns a view which is lazily evaluated. Constant. Returns a view which is lazily evaluated.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.transform.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.header"></a><h6>
<a name="id625391"></a> <a name="id616032"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.header">Header</a> <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.metafunctions.transform.example"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.transform.example"></a><h6>
<a name="id625560"></a> <a name="id616140"></a>
<a href="transform.html#fusion.algorithm.transformation.metafunctions.transform.example">Example</a> <a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.example">Example</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">triple</span> <span class="keyword">struct</span> <span class="identifier">triple</span>
@ -277,17 +276,13 @@
<span class="special">};</span> <span class="special">};</span>
<span class="special">};</span> <span class="special">};</span>
<span class="special">...</span> <span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../container/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span> <span class="identifier">assert</span><span class="special">(</span><a href="../functions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">transform</span></tt></a><span class="special">(</span><a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">),</span> <span class="identifier">triple</span><span class="special">())</span> <span class="special">==</span> <a href="../../../sequences/generation/functions/make_vector.html" title="make_vector"><tt class="computeroutput"><span class="identifier">make_vector</span></tt></a><span class="special">(</span><span class="number">3</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">9</span><span class="special">));</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title> <title>zip</title>
<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../../../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0"> <link rel="start" href="../../../../index.html" title="Chapter 1. Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions"> <link rel="up" href="../metafunctions.html" title="Metafunctions">
@ -24,18 +24,18 @@
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title"> <div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div> <a name="fusion.algorithms.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.zip.description"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.zip.description"></a><h6>
<a name="id633717"></a> <a name="id623648"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.description">Description</a> <a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.description">Description</a>
</h6> </h6>
<p> <p>
Zips sequences together to form a single sequence, whos members are tuples Zips sequences together to form a single sequence, whos members are tuples
of the members of the component sequences. of the members of the component sequences.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.zip.synopsis"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.zip.synopsis"></a><h6>
<a name="id633750"></a> <a name="id623681"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.synopsis">Synopsis</a> <a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.synopsis">Synopsis</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">template</span><span class="special">&lt;</span>
@ -49,9 +49,9 @@
<span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span> <span class="keyword">typedef</span> <span class="emphasis"><em>unspecified</em></span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span> <span class="special">};</span>
</pre> </pre>
<a name="fusion.algorithm.transformation.metafunctions.zip.expression_semantics"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.zip.expression_semantics"></a><h6>
<a name="id633902"></a> <a name="id623835"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.expression_semantics">Expression <a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.expression_semantics">Expression
Semantics</a> Semantics</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
@ -72,30 +72,25 @@
would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span> would return <tt class="computeroutput"><span class="special">((</span><span class="number">1</span><span class="special">,</span> <span class="char">'a'</span><span class="special">),(</span><span class="number">2</span><span class="special">,</span> <span class="char">'b'</span><span class="special">),(</span><span class="number">3</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">))</span></tt> <span class="char">'c'</span><span class="special">))</span></tt>
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.zip.complexity"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.zip.complexity"></a><h6>
<a name="id634217"></a> <a name="id624151"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.complexity">Complexity</a> <a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.complexity">Complexity</a>
</h6> </h6>
<p> <p>
Constant. Constant.
</p> </p>
<a name="fusion.algorithm.transformation.metafunctions.zip.header"></a><h6> <a name="fusion.algorithms.transformation.metafunctions.zip.header"></a><h6>
<a name="id634247"></a> <a name="id624182"></a>
<a href="zip.html#fusion.algorithm.transformation.metafunctions.zip.header">Header</a> <a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.header">Header</a>
</h6> </h6>
<pre class="programlisting"> <pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transformation</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre> </pre>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -2,7 +2,7 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Change log</title> <title>Change log</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
@ -31,40 +31,21 @@
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li> <li>
Sep 27, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt> Sep 27, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></tt>
support. (Joel de Guzman) support.
</li> </li>
<li> <li>
Nov 17, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt> Nov 17, 2006: Added <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
support. (Joel de Guzman) support.
</li> </li>
<li> <li>
Feb 15, 2007: Added functional module. (Tobias Schwinger) Feb 15, 2007: Added functional module.
</li>
<li>
APRIL 2, 2007: Added struct adapter. (Joel de Guzman)
</li>
<li>
May 8, 2007: Added associative struct adapter. (Dan Marsden)
</li>
<li>
Dec 20, 2007: Removed <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></tt>
support. After thorough investigation, I think now that the move to make
variant a fusion sequence is rather quirky. A variant will always have a
size==1 regardless of the number of types it can contain and there's no way
to know at compile time what it contains. Iterating over its types is simply
wrong. All these imply that the variant is <span class="bold"><b>not</b></span>
a fusion sequence. (Joel de Guzman)
</li> </li>
</ul></div> </ul></div>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">

View File

@ -1,74 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Container</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="sequence/operator/comparison/greater_than_equal.html" title="greater
than equal">
<link rel="next" href="container/vector.html" title="vector">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
<td align="center"><a href="../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.container"></a><a href="container.html" title="Container">Container</a></h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="container/vector.html">vector</a></span></dt>
<dt><span class="section"><a href="container/cons.html">cons</a></span></dt>
<dt><span class="section"><a href="container/list.html">list</a></span></dt>
<dt><span class="section"><a href="container/set.html">set</a></span></dt>
<dt><span class="section"><a href="container/map.html">map</a></span></dt>
<dt><span class="section"><a href="container/generation.html">Generation</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/generation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="container/generation/metafunctions.html">MetaFunctions</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="container/conversion.html">Conversion</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="container/conversion/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="container/conversion/metafunctions.html">Metafunctions</a></span></dt>
</dl></dd>
</dl></div>
<p>
Fusion provides a few predefined sequences out of the box. These <span class="emphasis"><em>containers</em></span>
actually hold heterogenously typed data; unlike <a href="view.html" title="View">Views</a>.
These containers are more or less counterparts of those in <a href="http://en.wikipedia.org/wiki/Standard_Template_Library" target="_top">STL</a>.
</p>
<a name="fusion.container.header"></a><h3>
<a name="id527657"></a>
<a href="container.html#fusion.container.header">Header</a>
</h3>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">container</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="sequence/operator/comparison/greater_than_equal.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="container/vector.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,324 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>cons</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="vector.html" title="vector">
<link rel="next" href="list.html" title="list">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vector.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.cons"></a><a href="cons.html" title="cons">cons</a></h3></div></div></div>
<a name="fusion.container.cons.description"></a><h4>
<a name="id530553"></a>
<a href="cons.html#fusion.container.cons.description">Description</a>
</h4>
<p>
<tt class="computeroutput"><span class="identifier">cons</span></tt> is a simple <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>. It is a lisp style recursive list structure where <tt class="computeroutput"><span class="identifier">car</span></tt> is the <span class="emphasis"><em>head</em></span> and
<tt class="computeroutput"><span class="identifier">cdr</span></tt> is the <span class="emphasis"><em>tail</em></span>:
usually another cons structure or <tt class="computeroutput"><span class="identifier">nil</span></tt>:
the empty list. Fusion's <a href="list.html" title="list"><tt class="computeroutput"><span class="identifier">list</span></tt></a> is built on top of this more
primitive data structure. It is more efficient than <a href="vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a> when the target sequence
is constructed piecemeal (a data at a time). The runtime cost of access to
each element is peculiarly constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive
Inlined Functions</a>).
</p>
<a name="fusion.container.cons.header"></a><h4>
<a name="id530698"></a>
<a href="cons.html#fusion.container.cons.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">/</span><span class="identifier">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">cons</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.cons.synopsis"></a><h4>
<a name="id530866"></a>
<a href="cons.html#fusion.container.cons.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Car</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Cdr</span> <span class="special">=</span> <span class="identifier">nil</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">cons</span><span class="special">;</span>
</pre>
<a name="fusion.container.cons.template_parameters"></a><h4>
<a name="id530974"></a>
<a href="cons.html#fusion.container.cons.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Car</span></tt>
</p>
</td>
<td>
<p>
Head type
</p>
</td>
<td>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">Cdr</span></tt>
</p>
</td>
<td>
<p>
Tail type
</p>
</td>
<td>
<p>
<tt class="computeroutput"><span class="identifier">nil</span></tt>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.container.cons.model_of"></a><h4>
<a name="id531124"></a>
<a href="cons.html#fusion.container.cons.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">nil</span></tt></span></dt>
<dd><p>
An empty <tt class="computeroutput"><span class="identifier">cons</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">C</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">cons</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">l</span></tt>,
<tt class="computeroutput"><span class="identifier">l2</span></tt></span></dt>
<dd><p>
Instances of <tt class="computeroutput"><span class="identifier">cons</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">car</span></tt></span></dt>
<dd><p>
An arbitrary data
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">cdr</span></tt></span></dt>
<dd><p>
Another <tt class="computeroutput"><span class="identifier">cons</span></tt> list
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dd><p>
An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
Integral Constant</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.cons.expression_semantics"></a><h4>
<a name="id531405"></a>
<a href="cons.html#fusion.container.cons.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">nil</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates an empty list.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with <tt class="computeroutput"><span class="identifier">car</span></tt>
head and default constructed tail.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">car</span><span class="special">,</span>
<span class="identifier">cdr</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a cons with <tt class="computeroutput"><span class="identifier">car</span></tt>
head and <tt class="computeroutput"><span class="identifier">cdr</span></tt> tail.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">C</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a cons from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">l</span> <span class="special">=</span>
<span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Assigns to a cons, <tt class="computeroutput"><span class="identifier">l</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
The Nth element from the beginning of the sequence; see <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a>.
</p>
</td>
</tr>
</tbody>
</table></div>
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> <tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt> is provided
for convenience and compatibility with the original <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>
library, despite <tt class="computeroutput"><span class="identifier">cons</span></tt> being
a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
only (<tt class="computeroutput"><span class="identifier">at</span></tt> is supposed to be
a <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> requirement). The runtime complexity of <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a> is constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive
Inlined Functions</a>).
</p></div>
<a name="fusion.container.cons.example"></a><h4>
<a name="id532055"></a>
<a href="cons.html#fusion.container.cons.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;</span> <span class="special">&gt;</span> <span class="identifier">l</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="identifier">cons</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="number">5.5f</span><span class="special">));</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="vector.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="list.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,58 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Generation</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="map.html" title="map">
<link rel="next" href="generation/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="map.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.generation"></a><a href="generation.html" title="Generation">Generation</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="generation/functions.html">Functions</a></span></dt>
<dt><span class="section"><a href="generation/metafunctions.html">MetaFunctions</a></span></dt>
</dl></div>
<p>
These are the functions that you can use to generate various forms of <a href="../container.html" title="Container">Container</a> from elemental values.
</p>
<a name="fusion.container.generation.header"></a><h4>
<a name="id538032"></a>
<a href="generation.html#fusion.container.generation.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">generation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">generation</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="map.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation/functions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,291 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>list</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="cons.html" title="cons">
<link rel="next" href="set.html" title="set">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="cons.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.list"></a><a href="list.html" title="list">list</a></h3></div></div></div>
<a name="fusion.container.list.description"></a><h4>
<a name="id532388"></a>
<a href="list.html#fusion.container.list.description">Description</a>
</h4>
<p>
<tt class="computeroutput"><span class="identifier">list</span></tt> is a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> of heterogenous typed data built on top of <a href="cons.html" title="cons"><tt class="computeroutput"><span class="identifier">cons</span></tt></a>. It is more efficient than
<a href="vector.html" title="vector"><tt class="computeroutput"><span class="identifier">vector</span></tt></a>
when the target sequence is constructed piecemeal (a data at a time). The
runtime cost of access to each element is peculiarly constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive Inlined Functions</a>).
</p>
<a name="fusion.container.list.header"></a><h4>
<a name="id532485"></a>
<a href="list.html#fusion.container.list.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">list</span><span class="special">/</span><span class="identifier">list_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">list_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.list.synopsis"></a><h4>
<a name="id532778"></a>
<a href="list.html#fusion.container.list.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">...</span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">list</span><span class="special">;</span>
</pre>
<p>
The variadic class interface accepts <tt class="computeroutput"><span class="number">0</span></tt>
to <tt class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></tt> elements,
where <tt class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></tt>
is a user definable predefined maximum that defaults to <tt class="computeroutput"><span class="number">10</span></tt>.
Example:
</p>
<pre class="programlisting">
<span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
</pre>
<p>
You may define the preprocessor constant <tt class="computeroutput"><span class="identifier">FUSION_MAX_LIST_SIZE</span></tt>
before including any Fusion header to change the default. Example:
</p>
<pre class="programlisting">
<span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_LIST_SIZE</span> <span class="number">20</span>
</pre>
<a name="fusion.container.list.template_parameters"></a><h4>
<a name="id533108"></a>
<a href="list.html#fusion.container.list.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T0</span></tt>...<tt class="computeroutput"><span class="identifier">TN</span></tt>
</p>
</td>
<td>
<p>
Element types
</p>
</td>
<td>
<p>
<span class="emphasis"><em>unspecified-type</em></span>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.list.model_of"></a><h4>
<a name="id533227"></a>
<a href="list.html#fusion.container.list.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">L</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">list</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">l</span></tt></span></dt>
<dd><p>
An instance of <tt class="computeroutput"><span class="identifier">list</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">N</span></tt></span></dt>
<dd><p>
An <a href="http://www.boost.org/libs/mpl/doc/refmanual/integral-constant.html" target="_top">MPL
Integral Constant</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.list.expression_semantics"></a><h4>
<a name="id533440"></a>
<a href="list.html#fusion.container.list.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">L</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a list with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">L</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> <span class="identifier">e1</span><span class="special">,...</span>
<span class="identifier">en</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a list with elements <tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">L</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a list from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">l</span> <span class="special">=</span>
<span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Assigns to a list, <tt class="computeroutput"><span class="identifier">l</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
The Nth element from the beginning of the sequence; see <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a>.
</p>
</td>
</tr>
</tbody>
</table></div>
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../images/note.png" alt="note"></span> <tt class="computeroutput"><a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a><span class="special">&lt;</span><span class="identifier">n</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span></tt> is provided
for convenience and compatibility with the original <a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html" target="_top">Boost.Tuple</a>
library, despite <tt class="computeroutput"><span class="identifier">list</span></tt> being
a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
only (<a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a> is supposed to be a <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> requirement). The runtime complexity of <a href="../sequence/intrinsic/functions/at.html" title="at"><tt class="computeroutput"><span class="identifier">at</span></tt></a> is constant (see <a href="../notes.html#fusion.notes.recursive_inlined_functions">Recursive
Inlined Functions</a>).
</p></div>
<a name="fusion.container.list.example"></a><h4>
<a name="id534016"></a>
<a href="list.html#fusion.container.list.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">list</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">l</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="cons.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,280 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>map</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="set.html" title="set">
<link rel="next" href="generation.html" title="Generation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="set.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.map"></a><a href="map.html" title="map">map</a></h3></div></div></div>
<a name="fusion.container.map.description"></a><h4>
<a name="id536066"></a>
<a href="map.html#fusion.container.map.description">Description</a>
</h4>
<p>
map is an <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> of heteregenous typed data elements. Each element is a key/data
pair (see <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a>)
where the key has no data (type only). Type identity is used to impose an
equivalence relation on keys. A map may contain at most one element for each
key. Membership testing and element key lookup has constant runtime complexity
(see <a href="../notes.html#fusion.notes.overloaded_functions">Overloaded Functions</a>).
</p>
<a name="fusion.container.map.header"></a><h4>
<a name="id536147"></a>
<a href="map.html#fusion.container.map.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">map</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">map_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.map.synopsis"></a><h4>
<a name="id536429"></a>
<a href="map.html#fusion.container.map.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">...</span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">map</span><span class="special">;</span>
</pre>
<p>
The variadic class interface accepts <tt class="computeroutput"><span class="number">0</span></tt>
to <tt class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></tt> elements,
where <tt class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></tt>
is a user definable predefined maximum that defaults to <tt class="computeroutput"><span class="number">10</span></tt>.
Example:
</p>
<pre class="programlisting">
<span class="identifier">map</span><span class="special">&lt;</span><a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;,</span> <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">char</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;,</span> <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span> <span class="special">&gt;</span>
</pre>
<p>
You may define the preprocessor constant <tt class="computeroutput"><span class="identifier">FUSION_MAX_MAP_SIZE</span></tt>
before including any Fusion header to change the default. Example:
</p>
<pre class="programlisting">
<span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_MAP_SIZE</span> <span class="number">20</span>
</pre>
<a name="fusion.container.map.template_parameters"></a><h4>
<a name="id536859"></a>
<a href="map.html#fusion.container.map.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T0</span></tt>...<tt class="computeroutput"><span class="identifier">TN</span></tt>
</p>
</td>
<td>
<p>
Element types
</p>
</td>
<td>
<p>
<span class="emphasis"><em>unspecified-type</em></span>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.map.model_of"></a><h4>
<a name="id536978"></a>
<a href="map.html#fusion.container.map.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc">
<li><a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a></li>
<li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">M</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">map</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">m</span></tt></span></dt>
<dd><p>
An instance of <tt class="computeroutput"><span class="identifier">map</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt></span></dt>
<dd><p>
Heterogeneous key/value pairs (see <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">pair</span></tt></a>)
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.map.expression_semantics"></a><h4>
<a name="id537201"></a>
<a href="map.html#fusion.container.map.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> and <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">M</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a map with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> <span class="identifier">e1</span><span class="special">,...</span>
<span class="identifier">en</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a map with element pairs <tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">M</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a map from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">m</span> <span class="special">=</span>
<span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Assigns to a map, <tt class="computeroutput"><span class="identifier">m</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.container.map.example"></a><h4>
<a name="id537549"></a>
<a href="map.html#fusion.container.map.example">Example</a>
</h4>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="identifier">map</span><span class="special">&lt;</span>
<a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">&gt;</span>
<span class="special">,</span> <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="identifier">map_type</span><span class="special">;</span>
<span class="identifier">map_type</span> <span class="identifier">m</span><span class="special">(</span>
<a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="char">'X'</span><span class="special">)</span>
<span class="special">,</span> <a href="../support/pair.html" title="pair"><tt class="computeroutput"><span class="identifier">make_pair</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="string">"Men"</span><span class="special">));</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">m</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;(</span><span class="identifier">m</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="set.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generation.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,273 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>set</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="list.html" title="list">
<link rel="next" href="map.html" title="map">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="list.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="map.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.set"></a><a href="set.html" title="set">set</a></h3></div></div></div>
<a name="fusion.container.set.description"></a><h4>
<a name="id534310"></a>
<a href="set.html#fusion.container.set.description">Description</a>
</h4>
<p>
set is an <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> of heteregenous typed data elements. Type identity is used
to impose an equivalence relation on keys. The element's type is its key.
A set may contain at most one element for each key. Membership testing and
element key lookup has constant runtime complexity (see <a href="../notes.html#fusion.notes.overloaded_functions">Overloaded
Functions</a>).
</p>
<a name="fusion.container.set.header"></a><h4>
<a name="id534365"></a>
<a href="set.html#fusion.container.set.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">set_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.set.synopsis"></a><h4>
<a name="id534648"></a>
<a href="set.html#fusion.container.set.synopsis">Synopsis</a>
</h4>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">...</span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">set</span><span class="special">;</span>
</pre>
<p>
The variadic class interface accepts <tt class="computeroutput"><span class="number">0</span></tt>
to <tt class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></tt> elements,
where <tt class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></tt>
is a user definable predefined maximum that defaults to <tt class="computeroutput"><span class="number">10</span></tt>.
Example:
</p>
<pre class="programlisting">
<span class="identifier">set</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
</pre>
<p>
You may define the preprocessor constant <tt class="computeroutput"><span class="identifier">FUSION_MAX_SET_SIZE</span></tt>
before including any Fusion header to change the default. Example:
</p>
<pre class="programlisting">
<span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_SET_SIZE</span> <span class="number">20</span>
</pre>
<a name="fusion.container.set.template_parameters"></a><h4>
<a name="id534980"></a>
<a href="set.html#fusion.container.set.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T0</span></tt>...<tt class="computeroutput"><span class="identifier">TN</span></tt>
</p>
</td>
<td>
<p>
Element types
</p>
</td>
<td>
<p>
<span class="emphasis"><em>unspecified-type</em></span>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.set.model_of"></a><h4>
<a name="id535099"></a>
<a href="set.html#fusion.container.set.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc">
<li><a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a></li>
<li><a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">S</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">set</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
An instance of <tt class="computeroutput"><span class="identifier">set</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">fs</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.set.expression_semantics"></a><h4>
<a name="id535294"></a>
<a href="set.html#fusion.container.set.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> and <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">S</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a set with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> <span class="identifier">e1</span><span class="special">,...</span>
<span class="identifier">en</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a set with elements <tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">S</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a set from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> <tt class="computeroutput"><span class="identifier">fs</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">s</span> <span class="special">=</span>
<span class="identifier">fs</span></tt>
</p>
</td>
<td>
<p>
Assigns to a set, <tt class="computeroutput"><span class="identifier">s</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> <tt class="computeroutput"><span class="identifier">fs</span></tt>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.container.set.example"></a><h4>
<a name="id535643"></a>
<a href="set.html#fusion.container.set.example">Example</a>
</h4>
<pre class="programlisting">
<span class="keyword">typedef</span> <span class="identifier">set</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">S</span><span class="special">;</span>
<span class="identifier">S</span> <span class="identifier">s</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(</span><span class="identifier">s</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/metafunctions/has_key.html" title="has_key"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">has_key</span></tt></a><span class="special">&lt;</span><span class="identifier">S</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;::</span><span class="identifier">value</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="list.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="map.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,307 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>vector</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../container.html" title="Container">
<link rel="prev" href="../container.html" title="Container">
<link rel="next" href="cons.html" title="cons">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../container.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="cons.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.container.vector"></a><a href="vector.html" title="vector">vector</a></h3></div></div></div>
<a name="fusion.container.vector.description"></a><h4>
<a name="id527820"></a>
<a href="vector.html#fusion.container.vector.description">Description</a>
</h4>
<p>
<tt class="computeroutput"><span class="identifier">vector</span></tt> is a <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> of heterogenous typed data structured as a simple
<tt class="computeroutput"><span class="keyword">struct</span></tt> where each element is
held as a member variable. <tt class="computeroutput"><span class="identifier">vector</span></tt>
is the simplest of the Fusion sequence container, and in many cases the most
efficient.
</p>
<a name="fusion.container.vector.header"></a><h4>
<a name="id527897"></a>
<a href="vector.html#fusion.container.vector.header">Header</a>
</h4>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="comment">// numbered forms
</span><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector10</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector10</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector20</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector20</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector30</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector30</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector40</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector40</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">container</span><span class="special">/</span><span class="identifier">vector</span><span class="special">/</span><span class="identifier">vector50</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">vector50</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.container.vector.synopsis"></a><h4>
<a name="id528875"></a>
<a href="vector.html#fusion.container.vector.synopsis">Synopsis</a>
</h4>
<p>
<span class="bold"><b>Numbered forms</b></span>
</p>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vector0</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vector1</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vector2</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vector3</span><span class="special">;</span>
<span class="special">...</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T0</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span><span class="special">...,</span> <span class="keyword">typename</span> <span class="identifier">TN</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vectorN</span><span class="special">;</span>
</pre>
<p>
<span class="bold"><b>Variadic form</b></span>
</p>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T0</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T1</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">...</span>
<span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">TN</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span>
<span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">vector</span><span class="special">;</span>
</pre>
<p>
The numbered form accepts the exact number of elements. Example:
</p>
<pre class="programlisting">
<span class="identifier">vector3</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
</pre>
<p>
The variadic form accepts <tt class="computeroutput"><span class="number">0</span></tt> to
<tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt> elements,
where <tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
is a user definable predefined maximum that defaults to <tt class="computeroutput"><span class="number">10</span></tt>.
Example:
</p>
<pre class="programlisting">
<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">char</span><span class="special">,</span> <span class="keyword">double</span><span class="special">&gt;</span>
</pre>
<p>
You may define the preprocessor constant <tt class="computeroutput"><span class="identifier">FUSION_MAX_VECTOR_SIZE</span></tt>
before including any Fusion header to change the default. Example:
</p>
<pre class="programlisting">
<span class="preprocessor">#define</span> <span class="identifier">FUSION_MAX_VECTOR_SIZE</span> <span class="number">20</span>
</pre>
<a name="fusion.container.vector.template_parameters"></a><h4>
<a name="id529619"></a>
<a href="vector.html#fusion.container.vector.template_parameters">Template parameters</a>
</h4>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">T0</span></tt>...<tt class="computeroutput"><span class="identifier">TN</span></tt>
</p>
</td>
<td>
<p>
Element types
</p>
</td>
<td>
<p>
<span class="emphasis"><em>unspecified</em></span>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.container.vector.model_of"></a><h4>
<a name="id529738"></a>
<a href="vector.html#fusion.container.vector.model_of">Model of</a>
</h4>
<div class="itemizedlist"><ul type="disc"><li><a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a></li></ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">v</span></tt></span></dt>
<dd><p>
Instance of <tt class="computeroutput"><span class="identifier">vector</span></tt>
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">V</span></tt></span></dt>
<dd><p>
A <tt class="computeroutput"><span class="identifier">vector</span></tt> type
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><tt class="computeroutput"><span class="identifier">s</span></tt></span></dt>
<dd><p>
A <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.container.vector.expression_semantics"></a><h4>
<a name="id529922"></a>
<a href="vector.html#fusion.container.vector.expression_semantics">Expression Semantics</a>
</h4>
<p>
Semantics of an expression is defined only where it differs from, or is not
defined in <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a>.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">V</span><span class="special">()</span></tt>
</p>
</td>
<td>
<p>
Creates a vector with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">V</span><span class="special">(</span><span class="identifier">e0</span><span class="special">,</span> <span class="identifier">e1</span><span class="special">,...</span>
<span class="identifier">en</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Creates a vector with elements <tt class="computeroutput"><span class="identifier">e0</span></tt>...<tt class="computeroutput"><span class="identifier">en</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">V</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></tt>
</p>
</td>
<td>
<p>
Copy constructs a vector from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<tt class="computeroutput"><span class="identifier">v</span> <span class="special">=</span>
<span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Assigns to a vector, <tt class="computeroutput"><span class="identifier">v</span></tt>,
from a <a href="../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>, <tt class="computeroutput"><span class="identifier">s</span></tt>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.container.vector.example"></a><h4>
<a name="id530261"></a>
<a href="vector.html#fusion.container.vector.example">Example</a>
</h4>
<pre class="programlisting">
<span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">float</span><span class="special">&gt;</span> <span class="identifier">v</span><span class="special">(</span><span class="number">12</span><span class="special">,</span> <span class="number">5.5f</span><span class="special">);</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">0</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <a href="../sequence/intrinsic/functions/at_c.html" title="at_c"><tt class="computeroutput"><span class="identifier">at_c</span></tt></a><span class="special">&lt;</span><span class="number">1</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../container.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../container.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="cons.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -2,12 +2,12 @@
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Extension</title> <title>Extension</title>
<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <link rel="stylesheet" href="../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1"> <meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="start" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0"> <link rel="up" href="../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="prev" href="tuple/pairs.html" title="Pairs"> <link rel="prev" href="tuples/pairs.html" title="Pairs">
<link rel="next" href="extension/ext_full.html" title=" The Full Extension Mechanism"> <link rel="next" href="functional.html" title="Functional">
</head> </head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr> <table cellpadding="2" width="100%"><tr>
@ -20,29 +20,517 @@
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="tuple/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extension/ext_full.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="tuples/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
<div class="section" lang="en"> <div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.extension"></a><a href="extension.html" title="Extension">Extension</a></h2></div></div></div> <a name="fusion.extension"></a><a href="extension.html" title="Extension">Extension</a></h2></div></div></div>
<div class="toc"><dl> <p>
<dt><span class="section"><a href="extension/ext_full.html"> The Full Extension Mechanism</a></span></dt> The Fusion library is designed to be extensible, new sequences types can easily
<dt><span class="section"><a href="extension/sequence_facade.html">Sequence Facade</a></span></dt> be added. In fact, the library support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
<dt><span class="section"><a href="extension/iterator_facade.html">Iterator Facade</a></span></dt> <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
</dl></div> sequences is entirely provided using the extension mechanism.
</p>
<p>
The process for adding a new sequence type to Fusion is:
</p>
<div class="orderedlist"><ol type="1">
<li>
Enable the <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
mechanism used by Fusion for your sequence type
</li>
<li>
Design an iterator type for the sequence
</li>
<li>
Provide specialized behaviour for the intrinsic operations of the new Fusion
sequence
</li>
</ol></div>
<a name="fusion.extension.our_example"></a><h3>
<a name="id635063"></a>
<a href="extension.html#fusion.extension.our_example">Our example</a>
</h3>
<p>
In order to illustrate enabling a new sequence type for use with Fusion, we
are going to use the type:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">example</span>
<span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">example_struct</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
<span class="identifier">example_struct</span><span class="special">(</span>
<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">n</span><span class="special">,</span>
<span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">name</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="identifier">age</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span>
<span class="special">{}</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<p>
We are going to pretend that this type has been provided by a 3rd party library,
and therefore cannot be modified. We shall work through all the necessary steps
to enable <tt class="computeroutput"><span class="identifier">example_struct</span></tt> to
serve as an <a href="sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> as described in the <a href="quick_start.html" title="Quick Start">Quick
Start</a> guide.
</p>
<a name="fusion.extension.enabling_tag_dispatching"></a><h3>
<a name="id635347"></a>
<a href="extension.html#fusion.extension.enabling_tag_dispatching">Enabling Tag Dispatching</a>
</h3>
<p>
The Fusion extensibility mechanism uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> to call the correct code for a given sequence
type. In order to exploit the tag dispatching mechanism we must first declare
a new tag type for the mechanism to use. For example:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">example</span> <span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">example_sequence_tag</span><span class="special">;</span> <span class="comment">// Only definition needed
</span><span class="special">}</span>
</pre>
<p>
Next we need to enable the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
metafunction to return our newly chosen tag type for operations involving our
sequence. This is done by specializing <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
for our sequence type.
</p>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">traits</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">example_struct</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}}}</span>
</pre>
<p>
<tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt> also has a second template argument,
that can be used in conjuction with <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
to provide tag support for groups of related types. This feature is not necessary
for our sequence, but for an example see the code in:
</p>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.extension.designing_a_suitable_iterator"></a><h3>
<a name="id635846"></a>
<a href="extension.html#fusion.extension.designing_a_suitable_iterator">Designing a
suitable iterator</a>
</h3>
<p>
We need an iterator to describe positions, and provide access to the data within
our sequence. As it is straightforward to do, we are going to provide a random
access iterator in our example.
</p>
<p>
We will use a simple design, in which the 2 members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
are given numbered indices, 0 for <tt class="computeroutput"><span class="identifier">name</span></tt>
and 1 for <tt class="computeroutput"><span class="identifier">age</span></tt> respectively.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">example_struct_iterator</span>
<span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">iterator_base</span><span class="special">&lt;</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">Pos</span> <span class="special">&gt;=</span><span class="number">0</span> <span class="special">&amp;&amp;</span> <span class="identifier">Pos</span> <span class="special">&lt;</span> <span class="number">3</span><span class="special">);</span>
<span class="keyword">typedef</span> <span class="identifier">Struct</span> <span class="identifier">struct_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">Pos</span><span class="special">&gt;</span> <span class="identifier">index</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span> <span class="identifier">category</span><span class="special">;</span>
<span class="identifier">example_struct_iterator</span><span class="special">(</span><span class="identifier">Struct</span><span class="special">&amp;</span> <span class="identifier">str</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">struct_</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span> <span class="special">{}</span>
<span class="identifier">Struct</span><span class="special">&amp;</span> <span class="identifier">struct_</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<p>
A quick summary of the details of our iterator:
</p>
<div class="orderedlist"><ol type="1">
<li>
The iterator is parameterized by the type it is iterating over, and the index
of the current element.
</li>
<li>
The typedefs <tt class="computeroutput"><span class="identifier">struct_type</span></tt>
and <tt class="computeroutput"><span class="identifier">index</span></tt> provide convenient
access to information we will need later in the implementation.
</li>
<li>
The typedef <tt class="computeroutput"><span class="identifier">category</span></tt> allows
the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="support/category_of.html" title="category_of"><tt class="computeroutput"><span class="identifier">category_of</span></tt></a></tt>
metafunction to establish the traversal category of the iterator.
</li>
<li>
The constructor stores a reference to the <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
being iterated over.
</li>
</ol></div>
<p>
We also need to enable <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> for our iterator type, with another specialization
of <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>.
</p>
<p>
In isolation, the iterator implementation is pretty dry. Things should become
clearer as we add features to our implementation.
</p>
<a name="fusion.extension.a_first_couple_of_instructive_features"></a><h3>
<a name="id636490"></a>
<a href="extension.html#fusion.extension.a_first_couple_of_instructive_features">A first
couple of instructive features</a>
</h3>
<p>
To start with, we will get the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></tt></a> metafunction working. To
do this, we provide a specialization of the <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></tt>
template for our iterator's tag type.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">value_of_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
The implementation itself is pretty simple, it just uses 2 partial specializations
to provide the type of the 2 different members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>,
based on the index of the iterator.
</p>
<p>
To understand how <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>
is used by the library we will look at the implementation of <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>:
</p>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
</pre>
<p>
So <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a> to provide its functionality. You will notice this
pattern throughout the implementation of Fusion.
</p>
<p>
Ok, lets enable dereferencing of our iterator. In this case we must provide
a suitable specialization of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">deref_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">&gt;,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">&gt;,</span> <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<p>
The use of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is very
similar to that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>,
but it also provides some runtime functionality this time via the <tt class="computeroutput"><span class="identifier">call</span></tt> static member function. To see how
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is used, lets have
a look at the implementation of <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
<span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span> <span class="identifier">deref_meta</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<p>
So again <a href="iterators/metafunctions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a> uses <a href="notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> in exactly the same way as the <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> implementation. The runtime
functionality used by <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> is provided by the <tt class="computeroutput"><span class="identifier">call</span></tt> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a>.
</p>
<p>
The actual implementation of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
is slightly more complex than that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>.
We also need to implement the <tt class="computeroutput"><span class="identifier">call</span></tt>
function, which returns a reference to the appropriate member of the underlying
sequence. We also require a little bit of metaprogramming to return <tt class="computeroutput"><span class="keyword">const</span></tt> references if the underlying sequence
is const.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/html/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>
Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> illustrate all the signficant
concepts required. The remainder of the process is very repetitive, simply
requiring implementation of a suitable <tt class="computeroutput"><span class="identifier">xxxx_impl</span></tt>
for each feature <tt class="computeroutput"><span class="identifier">xxxx</span></tt>.
</p></td></tr>
</table></div>
<a name="fusion.extension.implementing_the_remaining_iterator_functionality"></a><h3>
<a name="id638798"></a>
<a href="extension.html#fusion.extension.implementing_the_remaining_iterator_functionality">Implementing
the remaining iterator functionality</a>
</h3>
<p>
Ok, now we have seen the way <a href="iterators/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="iterators/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> work, everything else will work
in pretty much the same way. Lets start with forward iteration, by providing
a <tt class="computeroutput"><span class="identifier">next_impl</span></tt>:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">next_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">struct_type</span> <span class="identifier">struct_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">index</span> <span class="identifier">index</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">struct_type</span><span class="special">,</span> <span class="identifier">index</span><span class="special">::</span><span class="identifier">value</span> <span class="special">+</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">i</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
This should be very familiar from our <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
implementation, we will be using this approach again and again now. Our design
is simply to increment the <tt class="computeroutput"><span class="identifier">index</span></tt>
counter to move on to the next element. The various other iterator manipulations
we need to perform will all just involve simple calculations with the <tt class="computeroutput"><span class="identifier">index</span></tt> variables.
</p>
<p>
We also need to provide a suitable <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
so that iterators can be correctly compared. A <a href="iterators/concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> will also need an implementation of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>.
For a <a href="iterators/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> <tt class="computeroutput"><span class="identifier">distance_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">advance_impl</span></tt> also need
to be provided in order to satisfy the necessary complexity guarantees. As
our iterator is a <a href="iterators/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> we will have to implement all of these functions.
</p>
<p>
Full implementations of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">advance_impl</span></tt>, <tt class="computeroutput"><span class="identifier">distance_impl</span></tt> and <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
are provided in the example code.
</p>
<a name="fusion.extension.implementing_the_intrinsic_functions_of_the_sequence"></a><h3>
<a name="id639449"></a>
<a href="extension.html#fusion.extension.implementing_the_intrinsic_functions_of_the_sequence">Implementing
the intrinsic functions of the sequence</a>
</h3>
<p>
In order that Fusion can correctly identify our sequence as a Fusion sequence,
we need to enable <tt class="computeroutput"><span class="identifier">is_sequence</span></tt>
for our sequence type. As usual we just create an <tt class="computeroutput"><span class="identifier">impl</span></tt>
type specialized for our sequence tag:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_sequence_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
<span class="special">};</span>
</pre>
<p>
We've some similar formalities to complete, providing <tt class="computeroutput"><span class="identifier">category_of_impl</span></tt>
so Fusion can correctly identify our sequence type, and <tt class="computeroutput"><span class="identifier">is_view_impl</span></tt>
so Fusion can correctly identify our sequence as not being a <a href="sequences/views.html" title="Views">View</a>
type. Implementations are provide in the example code.
</p>
<p>
Now we've completed some formalities, on to more interesting features. Lets
get <a href="sequences/intrinsics/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a> working so that we can get an
iterator to start accessing the data in our sequence.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">begin_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
The implementation uses the same ideas we have applied throughout, in this
case we are just creating one of the iterators we developed earlier, pointing
to the first element in the sequence. The implementation of <a href="sequences/intrinsics/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a> is very similar, and is provided
in the example code.
</p>
<p>
For our <a href="sequences/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> we will also need to implement <tt class="computeroutput"><span class="identifier">size_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">value_at_impl</span></tt> and <tt class="computeroutput"><span class="identifier">at_impl</span></tt>.
</p>
<a name="fusion.extension.enabling_our_type_as_an_associative_container"></a><h3>
<a name="id640054"></a>
<a href="extension.html#fusion.extension.enabling_our_type_as_an_associative_container">Enabling
our type as an associative container</a>
</h3>
<p>
In order for <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
to serve as an associative container, we need to enable 3 lookup features,
<a href="sequences/intrinsics/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a>, <a href="sequences/intrinsics/metafunctions/value_at_key.html" title="value_at_key"><tt class="computeroutput"><span class="identifier">value_at_key</span></tt></a> and <a href="sequences/intrinsics/functions/has_key.html" title="has_key"><tt class="computeroutput"><span class="identifier">has_key</span></tt></a>. We also need to provide an
implementation of the <tt class="computeroutput"><span class="identifier">is_associative</span></tt>
trait so that our sequence can be correctly identified as an associative container.
</p>
<p>
To implement <tt class="computeroutput"><span class="identifier">at_key_impl</span></tt> we
need to associate the <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> and
<tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> types described in the <a href="quick_start.html" title="Quick Start">Quick
Start</a> guide with the appropriate members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>.
Our implementation is as follows:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">at_key_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;,</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&amp;,</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;,</span>
<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;,</span>
<span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
Its all very similar to the implementations we've seen previously, such as
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> and <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>. Instead of identifying the
members by index or position, we are now selecting them using the types <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></tt> and <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt>. The
implementations of <tt class="computeroutput"><span class="identifier">value_at_key_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">has_key_impl</span></tt> are equally
straightforward, and are provided in the example code, along with an implementation
of <tt class="computeroutput"><span class="identifier">is_associative_impl</span></tt>.
</p>
<a name="fusion.extension.summary"></a><h3>
<a name="id641060"></a>
<a href="extension.html#fusion.extension.summary">Summary</a>
</h3>
<p>
We've now worked through the entire process for adding a new random access
sequence and we've also enabled our type to serve as an associative container.
The implementation was slightly longwinded, but followed a simple repeating
pattern.
</p>
<p>
The support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences, and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> all use the same approach, and provide
additional examples of the approach for a variety of types.
</p>
</div> </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td> <td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias <td align="right"><small>Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p> Schwinger</small></td>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table> </tr></table>
<hr> <hr>
<div class="spirit-nav"> <div class="spirit-nav">
<a accesskey="p" href="tuple/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extension/ext_full.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> <a accesskey="p" href="tuples/pairs.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="functional.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,545 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> The Full Extension Mechanism</title>
<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../extension.html" title="Extension">
<link rel="prev" href="../extension.html" title="Extension">
<link rel="next" href="sequence_facade.html" title="Sequence Facade">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td>
<td align="center"><a href="../../../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../extension.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sequence_facade.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.extension.ext_full"></a><a href="ext_full.html" title=" The Full Extension Mechanism"> The Full Extension Mechanism</a></h3></div></div></div>
<p>
The Fusion library is designed to be extensible, new sequences types can
easily be added. In fact, the library support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>,
<tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> and <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences is entirely provided using the extension mechanism.
</p>
<p>
The process for adding a new sequence type to Fusion is:
</p>
<div class="orderedlist"><ol type="1">
<li>
Enable the <a href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
mechanism used by Fusion for your sequence type
</li>
<li>
Design an iterator type for the sequence
</li>
<li>
Provide specialized behaviour for the intrinsic operations of the new Fusion
sequence
</li>
</ol></div>
<a name="fusion.extension.ext_full.our_example"></a><h4>
<a name="id643994"></a>
<a href="ext_full.html#fusion.extension.ext_full.our_example">Our example</a>
</h4>
<p>
In order to illustrate enabling a new sequence type for use with Fusion,
we are going to use the type:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">example</span>
<span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">example_struct</span>
<span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">age</span><span class="special">;</span>
<span class="identifier">example_struct</span><span class="special">(</span>
<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;</span> <span class="identifier">n</span><span class="special">,</span>
<span class="keyword">int</span> <span class="identifier">a</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">name</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="identifier">age</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span>
<span class="special">{}</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<p>
We are going to pretend that this type has been provided by a 3rd party library,
and therefore cannot be modified. We shall work through all the necessary
steps to enable <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
to serve as an <a href="../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> as described in the <a href="../quick_start.html" title="Quick Start">Quick
Start</a> guide.
</p>
<a name="fusion.extension.ext_full.enabling_tag_dispatching"></a><h4>
<a name="id644283"></a>
<a href="ext_full.html#fusion.extension.ext_full.enabling_tag_dispatching">Enabling
Tag Dispatching</a>
</h4>
<p>
The Fusion extensibility mechanism uses <a href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> to call the correct code for a given sequence
type. In order to exploit the tag dispatching mechanism we must first declare
a new tag type for the mechanism to use. For example:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">example</span> <span class="special">{</span>
<span class="keyword">struct</span> <span class="identifier">example_sequence_tag</span><span class="special">;</span> <span class="comment">// Only definition needed
</span><span class="special">}</span>
</pre>
<p>
Next we need to enable the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
metafunction to return our newly chosen tag type for operations involving
our sequence. This is done by specializing <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>
for our sequence type.
</p>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">support</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">tag_of_fwd</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">fusion</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">traits</span> <span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">example_struct</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}}}</span>
</pre>
<p>
<tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt> also has a second template argument,
that can be used in conjuction with <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">enable_if</span></tt>
to provide tag support for groups of related types. This feature is not necessary
for our sequence, but for an example see the code in:
</p>
<pre class="programlisting">
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">array</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">include</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.extension.ext_full.designing_a_suitable_iterator"></a><h4>
<a name="id644909"></a>
<a href="ext_full.html#fusion.extension.ext_full.designing_a_suitable_iterator">Designing
a suitable iterator</a>
</h4>
<p>
We need an iterator to describe positions, and provide access to the data
within our sequence. As it is straightforward to do, we are going to provide
a random access iterator in our example.
</p>
<p>
We will use a simple design, in which the 2 members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
are given numbered indices, 0 for <tt class="computeroutput"><span class="identifier">name</span></tt>
and 1 for <tt class="computeroutput"><span class="identifier">age</span></tt> respectively.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">Pos</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">example_struct_iterator</span>
<span class="special">:</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">iterator_base</span><span class="special">&lt;</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">Pos</span> <span class="special">&gt;=</span><span class="number">0</span> <span class="special">&amp;&amp;</span> <span class="identifier">Pos</span> <span class="special">&lt;</span> <span class="number">3</span><span class="special">);</span>
<span class="keyword">typedef</span> <span class="identifier">Struct</span> <span class="identifier">struct_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="identifier">Pos</span><span class="special">&gt;</span> <span class="identifier">index</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">random_access_traversal_tag</span> <span class="identifier">category</span><span class="special">;</span>
<span class="identifier">example_struct_iterator</span><span class="special">(</span><span class="identifier">Struct</span><span class="special">&amp;</span> <span class="identifier">str</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">struct_</span><span class="special">(</span><span class="identifier">str</span><span class="special">)</span> <span class="special">{}</span>
<span class="identifier">Struct</span><span class="special">&amp;</span> <span class="identifier">struct_</span><span class="special">;</span>
<span class="special">};</span>
</pre>
<p>
A quick summary of the details of our iterator:
</p>
<div class="orderedlist"><ol type="1">
<li>
The iterator is parameterized by the type it is iterating over, and the
index of the current element.
</li>
<li>
The typedefs <tt class="computeroutput"><span class="identifier">struct_type</span></tt>
and <tt class="computeroutput"><span class="identifier">index</span></tt> provide convenient
access to information we will need later in the implementation.
</li>
<li>
The typedef <tt class="computeroutput"><span class="identifier">category</span></tt> allows
the <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><a href="../support/category_of.html" title="category_of"><tt class="computeroutput"><span class="identifier">category_of</span></tt></a></tt>
metafunction to establish the traversal category of the iterator.
</li>
<li>
The constructor stores a reference to the <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
being iterated over.
</li>
</ol></div>
<p>
We also need to enable <a href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> for our iterator type, with another specialization
of <tt class="computeroutput"><span class="identifier">traits</span><span class="special">::</span><span class="identifier">tag_of</span></tt>.
</p>
<p>
In isolation, the iterator implementation is pretty dry. Things should become
clearer as we add features to our implementation.
</p>
<a name="fusion.extension.ext_full.a_first_couple_of_instructive_features"></a><h4>
<a name="id645569"></a>
<a href="ext_full.html#fusion.extension.ext_full.a_first_couple_of_instructive_features">A
first couple of instructive features</a>
</h4>
<p>
To start with, we will get the <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></tt></a> metafunction working. To
do this, we provide a specialization of the <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span></tt>
template for our iterator's tag type.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">value_of_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
The implementation itself is pretty simple, it just uses 2 partial specializations
to provide the type of the 2 different members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>,
based on the index of the iterator.
</p>
<p>
To understand how <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>
is used by the library we will look at the implementation of <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>:
</p>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">value_of_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
</pre>
<p>
So <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a>
uses <a href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag dispatching</em></span></a>
to select an <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a> to provide its functionality. You will notice
this pattern throughout the implementation of Fusion.
</p>
<p>
Ok, lets enable dereferencing of our iterator. In this case we must provide
a suitable specialization of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">deref_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">&gt;,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Struct</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">&gt;,</span> <span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Struct</span><span class="special">,</span> <span class="number">1</span><span class="special">&gt;</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">it</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">}</span>
</pre>
<p>
The use of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is
very similar to that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>,
but it also provides some runtime functionality this time via the <tt class="computeroutput"><span class="identifier">call</span></tt> static member function. To see how
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> is used, lets
have a look at the implementation of <a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>:
</p>
<pre class="programlisting">
<span class="keyword">namespace</span> <span class="identifier">result_of</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a>
<span class="special">:</span> <span class="identifier">extension</span><span class="special">::</span><span class="identifier">deref_impl</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">tag_of</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span>
<span class="keyword">template</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="special">{};</span>
<span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;::</span><span class="identifier">type</span>
<a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span><span class="special">&lt;</span><span class="identifier">Iterator</span><span class="special">&gt;</span> <span class="identifier">deref_meta</span><span class="special">;</span>
<span class="keyword">return</span> <span class="identifier">deref_meta</span><span class="special">::</span><span class="identifier">call</span><span class="special">(</span><span class="identifier">i</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<p>
So again <a href="../iterator/metafunctions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">deref</span></tt></a> uses <a href="../notes.html#fusion.notes.tag_dispatching"><span class="emphasis"><em>tag
dispatching</em></span></a> in exactly the same way as the <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> implementation. The runtime
functionality used by <a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> is provided by the <tt class="computeroutput"><span class="identifier">call</span></tt> static function of the selected <a href="http://www.boost.org/libs/mpl/doc/refmanual/metafunction-class.html" target="_top">MPL
Metafunction Class</a>.
</p>
<p>
The actual implementation of <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
is slightly more complex than that of <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>.
We also need to implement the <tt class="computeroutput"><span class="identifier">call</span></tt>
function, which returns a reference to the appropriate member of the underlying
sequence. We also require a little bit of metaprogramming to return <tt class="computeroutput"><span class="keyword">const</span></tt> references if the underlying sequence
is const.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/html/images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>
Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> illustrate all the signficant
concepts required. The remainder of the process is very repetitive, simply
requiring implementation of a suitable <tt class="computeroutput"><span class="identifier">xxxx_impl</span></tt>
for each feature <tt class="computeroutput"><span class="identifier">xxxx</span></tt>.
</p></td></tr>
</table></div>
<a name="fusion.extension.ext_full.implementing_the_remaining_iterator_functionality"></a><h4>
<a name="id647881"></a>
<a href="ext_full.html#fusion.extension.ext_full.implementing_the_remaining_iterator_functionality">Implementing
the remaining iterator functionality</a>
</h4>
<p>
Ok, now we have seen the way <a href="../iterator/metafunctions/value_of.html" title="value_of"><tt class="computeroutput"><span class="identifier">value_of</span></tt></a> and <a href="../iterator/functions/deref.html" title="deref"><tt class="computeroutput"><span class="identifier">deref</span></tt></a> work, everything else will
work in pretty much the same way. Lets start with forward iteration, by providing
a <tt class="computeroutput"><span class="identifier">next_impl</span></tt>:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">next_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">struct_type</span> <span class="identifier">struct_type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Iterator</span><span class="special">::</span><span class="identifier">index</span> <span class="identifier">index</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">struct_type</span><span class="special">,</span> <span class="identifier">index</span><span class="special">::</span><span class="identifier">value</span> <span class="special">+</span> <span class="number">1</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Iterator</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">i</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">i</span><span class="special">.</span><span class="identifier">struct_</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
This should be very familiar from our <tt class="computeroutput"><span class="identifier">deref_impl</span></tt>
implementation, we will be using this approach again and again now. Our design
is simply to increment the <tt class="computeroutput"><span class="identifier">index</span></tt>
counter to move on to the next element. The various other iterator manipulations
we need to perform will all just involve simple calculations with the <tt class="computeroutput"><span class="identifier">index</span></tt> variables.
</p>
<p>
We also need to provide a suitable <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
so that iterators can be correctly compared. A <a href="../iterator/concepts/bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a> will also need an implementation of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>.
For a <a href="../iterator/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> <tt class="computeroutput"><span class="identifier">distance_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">advance_impl</span></tt> also need
to be provided in order to satisfy the necessary complexity guarantees. As
our iterator is a <a href="../iterator/concepts/random_access_iterator.html" title="Random
Access Iterator">Random
Access Iterator</a> we will have to implement all of these functions.
</p>
<p>
Full implementations of <tt class="computeroutput"><span class="identifier">prior_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">advance_impl</span></tt>, <tt class="computeroutput"><span class="identifier">distance_impl</span></tt> and <tt class="computeroutput"><span class="identifier">equal_to_impl</span></tt>
are provided in the example code.
</p>
<a name="fusion.extension.ext_full.implementing_the_intrinsic_functions_of_the_sequence"></a><h4>
<a name="id648533"></a>
<a href="ext_full.html#fusion.extension.ext_full.implementing_the_intrinsic_functions_of_the_sequence">Implementing
the intrinsic functions of the sequence</a>
</h4>
<p>
In order that Fusion can correctly identify our sequence as a Fusion sequence,
we need to enable <tt class="computeroutput"><span class="identifier">is_sequence</span></tt>
for our sequence type. As usual we just create an <tt class="computeroutput"><span class="identifier">impl</span></tt>
type specialized for our sequence tag:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">is_sequence_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span> <span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span> <span class="special">{};</span>
<span class="special">};</span>
</pre>
<p>
We've some similar formalities to complete, providing <tt class="computeroutput"><span class="identifier">category_of_impl</span></tt>
so Fusion can correctly identify our sequence type, and <tt class="computeroutput"><span class="identifier">is_view_impl</span></tt>
so Fusion can correctly identify our sequence as not being a <a href="../view.html" title="View">View</a>
type. Implementations are provide in the example code.
</p>
<p>
Now we've completed some formalities, on to more interesting features. Lets
get <a href="../sequence/intrinsic/functions/begin.html" title="begin"><tt class="computeroutput"><span class="identifier">begin</span></tt></a> working so that we can get
an iterator to start accessing the data in our sequence.
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">begin_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">example</span><span class="special">::</span><span class="identifier">example_struct_iterator</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="number">0</span><span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">type</span><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
The implementation uses the same ideas we have applied throughout, in this
case we are just creating one of the iterators we developed earlier, pointing
to the first element in the sequence. The implementation of <a href="../sequence/intrinsic/functions/end.html" title="end"><tt class="computeroutput"><span class="identifier">end</span></tt></a> is very similar, and is provided
in the example code.
</p>
<p>
For our <a href="../sequence/concepts/random_access_sequence.html" title="Random
Access Sequence">Random
Access Sequence</a> we will also need to implement <tt class="computeroutput"><span class="identifier">size_impl</span></tt>,
<tt class="computeroutput"><span class="identifier">value_at_impl</span></tt> and <tt class="computeroutput"><span class="identifier">at_impl</span></tt>.
</p>
<a name="fusion.extension.ext_full.enabling_our_type_as_an_associative_container"></a><h4>
<a name="id649141"></a>
<a href="ext_full.html#fusion.extension.ext_full.enabling_our_type_as_an_associative_container">Enabling
our type as an associative container</a>
</h4>
<p>
In order for <tt class="computeroutput"><span class="identifier">example_struct</span></tt>
to serve as an associative container, we need to enable 3 lookup features,
<a href="../sequence/intrinsic/functions/at_key.html" title="at_key"><tt class="computeroutput"><span class="identifier">at_key</span></tt></a>, <a href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><tt class="computeroutput"><span class="identifier">value_at_key</span></tt></a> and <a href="../sequence/intrinsic/functions/has_key.html" title="has_key"><tt class="computeroutput"><span class="identifier">has_key</span></tt></a>. We also need to provide
an implementation of the <tt class="computeroutput"><span class="identifier">is_associative</span></tt>
trait so that our sequence can be correctly identified as an associative
container.
</p>
<p>
To implement <tt class="computeroutput"><span class="identifier">at_key_impl</span></tt>
we need to associate the <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> and
<tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt> types described in the <a href="../quick_start.html" title="Quick Start">Quick
Start</a> guide with the appropriate members of <tt class="computeroutput"><span class="identifier">example_struct</span></tt>.
Our implementation is as follows:
</p>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;&gt;</span>
<span class="keyword">struct</span> <span class="identifier">at_key_impl</span><span class="special">&lt;</span><span class="identifier">example</span><span class="special">::</span><span class="identifier">example_sequence_tag</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;,</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">const</span><span class="special">&amp;,</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">name</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sequence</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">apply</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span><span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span>
<span class="identifier">is_const</span><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;,</span>
<span class="keyword">int</span> <span class="keyword">const</span><span class="special">&amp;,</span>
<span class="keyword">int</span><span class="special">&amp;&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">static</span> <span class="identifier">type</span>
<span class="identifier">call</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">seq</span><span class="special">.</span><span class="identifier">age</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">};</span>
<span class="special">};</span>
</pre>
<p>
Its all very similar to the implementations we've seen previously, such as
<tt class="computeroutput"><span class="identifier">deref_impl</span></tt> and <tt class="computeroutput"><span class="identifier">value_of_impl</span></tt>. Instead of identifying the
members by index or position, we are now selecting them using the types
<tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">name</span></tt> and <tt class="computeroutput"><span class="identifier">fields</span><span class="special">::</span><span class="identifier">age</span></tt>.
The implementations of <tt class="computeroutput"><span class="identifier">value_at_key_impl</span></tt>
and <tt class="computeroutput"><span class="identifier">has_key_impl</span></tt> are equally
straightforward, and are provided in the example code, along with an implementation
of <tt class="computeroutput"><span class="identifier">is_associative_impl</span></tt>.
</p>
<a name="fusion.extension.ext_full.summary"></a><h4>
<a name="id650150"></a>
<a href="ext_full.html#fusion.extension.ext_full.summary">Summary</a>
</h4>
<p>
We've now worked through the entire process for adding a new random access
sequence and we've also enabled our type to serve as an associative container.
The implementation was slightly longwinded, but followed a simple repeating
pattern.
</p>
<p>
The support for <tt class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></tt>, <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences, and <tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></tt> all use the same approach, and provide
additional examples of the approach for a variety of types.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright <20> 2001-2007 Joel de Guzman, Dan Marsden, Tobias
Schwinger<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../extension.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extension.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sequence_facade.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More