Compare commits

..

1 Commits

Author SHA1 Message Date
a78a541406 Branch at revision 46530
[SVN r46531]
2008-06-19 18:57:10 +00:00
1293 changed files with 25838 additions and 99912 deletions

View File

@ -1,20 +0,0 @@
Interface Changes
- June 12, 2009: vector0 is now vector0<> as per Boost Trac Ticket #1608
to follow MPL more closely.
- September 24, 2009: added nview and friends
- October 12, 2009: the accumulator is the first argument to the functor of
fold and accumulate. Fixes Boost Trac Ticket #2355.
- October 30, 2009: Added support for associative iterators & views.
Renamed associative_sequence_tag to associative_tag. Fixes Boost Trac
Ticket #3473.
- April 4, 2010: Added array support, BOOST_FUSION_ADAPT_TPL_STRUCT,
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT, BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED and
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS
- April 5, 2010: Added BOOST_FUSION_DEFINE_STRUCT,
BOOST_FUSION_DEFINE_TPL_STRUCT, BOOST_FUSION_DEFINE_ASSOC_STRUCT and
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
- June 18, 2010: Added reverse_fold, iter_fold and reverse_iter_fold. Fixes
Boost Trac Ticket #1623.
- October 7, 2010: Added BOOST_FUSION_ADAPT_ADT, BOOST_FUSION_ADAPT_ASSOC_ADT,
BOOST_FUSION_ADAPT_TPL_ADT and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT

View File

@ -1,5 +1,5 @@
#==============================================================================
# Copyright (c) 2003-2011 Joel de Guzman
# 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
@ -9,20 +9,17 @@ project boost/libs/fusion/doc ;
import boostbook : boostbook ;
using quickbook ;
path-constant images_location : html ;
boostbook quickbook
:
fusion.qbk
:
<xsl:param>boost.root=../../../..
<xsl:param>boost.libraries=../../../libraries.htm
<xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
<xsl:param>chunk.section.depth=4
<xsl:param>chunk.first.sections=1
<xsl:param>toc.section.depth=3
<xsl:param>toc.max.depth=3
<xsl:param>generate.section.toc.level=4
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/fusion/doc/html
<format>pdf:<xsl:param>img.src.path=$(images_location)/
;

View File

@ -1,6 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
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

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Copyright (C) 2010 Christopher Schmidt
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
@ -11,20 +9,18 @@
[heading Lazy Evaluation]
Unlike __mpl__, Fusion algorithms are lazy[footnote Except for some
special cases such as __for_each__ and __copy__ which are inherently
imperative algorithms.] and non sequence-type preserving [footnote 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 __mpl__, and unlike __stl__,
fusion algorithms are mostly functional in nature such that algorithms
Unlike __mpl__, 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 __mpl__, and unlike
__stl__, fusion algorithms are functional in nature such that algorithms
are non mutating (no side effects). However, due to the high cost of
returning full sequences such as vectors and lists, /Views/ are returned
from Fusion algorithms instead. For example, the __transform__ algorithm
does not actually return a transformed version of the original sequence.
__transform__ returns a __transform_view__. This view holds a reference
to the original sequence plus the transform function. Iteration over the
__transform__ returns a __transform_view__. This view holds a reference to
the original sequence plus the transform function. Iteration over the
__transform_view__ will apply the transform function over the sequence
elements on demand. This /lazy/ evaluation scheme allows us to chain as
many algorithms as we want without incurring a high runtime penalty.
@ -39,8 +35,9 @@ algorithm simply returns a __joint_view__: a view that holds a reference to
the original sequence `s` and the value `x`. Functions that were once
sequence specific and need to be implemented N times over N different
sequences are now implemented only once. That is to say that Fusion
sequences are cheaply extensible.
sequences are cheaply extensible. However, an important caveat is that the
result of a sequence extending operation like __push_back__ does not retain
the properties of the original sequence such as associativity of __set__(s).
To regain the original sequence, __conversion__ functions are provided. You
may use one of the __conversion__ functions to convert back to the original
sequence type.
@ -50,61 +47,6 @@ sequence type.
#include <boost/fusion/algorithm.hpp>
#include <boost/fusion/include/algorithm.hpp>
[section Auxiliary]
The auxiliary algorithms provide the utility algorithms for sequences.
[heading Header]
#include <boost/fusion/algorithm/auxiliary.hpp>
#include <boost/fusion/include/auxiliary.hpp>
[section Functions]
[section copy]
[heading Description]
Copy a sequence `src` to a sequence `dest`.
It is also used to convert sequence into other.
[heading Synopsis]
template <typename Seq1, typename Seq2>
void copy(Seq1 const& src, Seq2& dest);
[table Parameters
[[Parameter][Requirement][Description]]
[[`src`][A model of __forward_sequence__, all elements contained in the `src` sequence should be convertible into the element contained in the `dest` sequence.][Operation's argument]]
[[`dest`][A model of __forward_sequence__, `e2 = e1` is valid expression for each pair of elements `e1` of `src` and `e2` of `dest`.][Operation's argument]]
]
[heading Expression Semantics]
__copy__(src, dest);
[*Return type]: `void`
[*Semantics]: `e2 = e1` for each element `e1` in `src` and `e2` in `dest`.
[heading Complexity]
Linear, exactly `__result_of_size__<Sequence>::value`.
[heading Header]
#include <boost/fusion/algorithm/auxiliary/copy.hpp>
#include <boost/fusion/include/copy.hpp>
[heading Example]
__vector__<int,int> vec(1,2);
__list__<int,int> ls;
__copy__(vec, ls);
assert(ls == __make_list__(1,2));
[endsect]
[endsect]
[endsect]
[section Iteration]
The iteration algorithms provide the fundamental algorithms for traversing
@ -117,94 +59,110 @@ a sequence repeatedly applying an operation to its elements.
[section Functions]
[template fold_desc[name result_of_name arg_desc seq_concept arg_id arg_type_id invoke_desc semantics_elements_desc example_arg_transform example_result I0 I1 IN]
[heading Description]
For a sequence `seq`, initial state `initial_state`, and binary function object
or function pointer `f`, [^[name]] returns the result of the repeated application of
binary `f` to the result of the previous `f` invocation (`inital_state` if it is
the first call) and [arg_desc] of `seq`.
[section fold]
[heading Description]
For a sequence `Seq`, initial state, and binary function object or function pointer `f`, fold repeatedly applies binary `f` to each element of `Seq` and the previous state.
[def name_macro [name]]
[def result_of_name_macro [result_of_name]]
[heading Synopsis]
template<
typename Sequence,
typename State,
typename F
>
typename result_of_name_macro<Sequence, State const, F>::type name_macro(
Sequence& seq, State const& initial_state, F f);
typename __result_of_fold__<Sequence, State, F>::type fold(
Sequence& seq, State const& initial_state, F const& f);
template<
typename Sequence,
typename State,
typename F
>
typename result_of_name_macro<Sequence const, State const, F>::type name_macro(
Sequence const& seq, State const& initial_state, F f);
[def seq_concept_macro [seq_concept]]
[def arg_type_id_macro [arg_type_id]]
[def arg_id_macro [arg_id]]
[def invoke_desc_macro [invoke_desc]]
[table Parameters
[[Parameter][Requirement][Description]]
[[`seq`][A model of seq_concept_macro][Operation's argument]]
[[`seq`][A model of __forward_sequence__,`f(e,s)` must be a valid expression for each element `e` in `seq`, and current state `s`][Operation's argument]]
[[`initial_state`][Any type][Initial state]]
[[`f`][`f(s,arg_id_macro)` with return type `__boost_result_of_call__<F(S,arg_type_id_macro)>::type` for current state `s` of type `S`, and for each invoke_desc_macro][Operation's argument]]
[[`f`][`__boost_result_of_call__<F(E,S)>::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]]
]
[heading Expression Semantics]
name_macro(seq, initial_state, f);
fold(seq, initial_state, f);
[*Return type]: Any type
[*Semantics]: Equivalent to [^f(... f(f(initial_state,[arg_id][I0]),[arg_id][I1]) ...[arg_id][IN])] where [^[arg_id]1 ...[arg_id]N] are [semantics_elements_desc].
[*Semantics]: Equivalent to `f(eN ....f(e2,f(e1,initial_state)))` where `e1 ...eN` are the elements of `seq`.
[heading Complexity]
Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[heading Header]
#include <boost/fusion/algorithm/iteration/name_macro.hpp>
#include <boost/fusion/include/name_macro.hpp>
#include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/include/fold.hpp>
[def example_result_macro [example_result]]
[def example_arg_transform_macro [example_arg_transform]]
[heading Example]
struct make_string
{
typedef std::string result_type;
template<typename T>
std::string operator()(const std::string& str, const T& t) const
std::string operator()(const T& t, const std::string& str) const
{
return str + boost::lexical_cast<std::string>(example_arg_transform_macro);
return str + boost::lexical_cast<std::string>(t);
}
};
...
const __vector__<int,int> vec(1,2);
assert(name_macro(vec,std::string(""), make_string()) == example_result_macro);
]
assert(__fold__(vec,std::string(""), make_string()) == "12");
[section fold]
[fold_desc fold..__result_of_fold__..each element..__forward_sequence__..e..E..element `e` of type `E` in `seq`..the consecutive elements of `seq`..t.."12"..1..2..N]
[endsect]
[section reverse_fold]
[fold_desc reverse_fold..__result_of_reverse_fold__..each element..__bidirectional_sequence__..e..E..element `e` of type `E` in `seq`..the consecutive elements of `seq`..t.."21"..N..N-1..1]
[endsect]
[section iter_fold]
[fold_desc iter_fold..__result_of_iter_fold__..iterators on each element..__forward_sequence__..it..It..iterator `it` of type `It` on an element of `seq`..consecutive iterators on the elements of `seq`..__deref__(t).."12"..1..2..N]
[endsect]
[section reverse_iter_fold]
[fold_desc reverse_iter_fold..__result_of_reverse_iter_fold__..iterators on each element..__bidirectional_sequence__..it..It..iterator `it` of type `It` on an element of `seq`..consecutive iterators on the elements of `seq`..__deref__(t).."21"..N..N-1..1]
[endsect]
[section accumulate]
[fold_desc accumulate..__result_of_accumulate__..each element..__forward_sequence__..e..E..element `e` of type `E` in `seq`..the consecutive elements of `seq`..t.."12"..1..2..N]
[heading Description]
For a sequence `Seq`, initial state, and binary function object or function pointer `f`, accumulate repeatedly applies binary `f` to each element of `Seq` and the previous state.
[heading Synopsis]
template<
typename Sequence,
typename State,
typename F
>
typename __result_of_accumulate__<Sequence, State, F>::type accumulate(
Sequence& seq, State const& initial_state, F const& f);
[table Parameters
[[Parameter][Requirement][Description]]
[[`seq`][A model of __forward_sequence__, `f(eN ....f(e2,f(e1,initial_state)))` must be a valid expression for each element `e1` to `eN` in `seq`][Operation's argument]]
[[`initial_state`][Any type][Initial state]]
[[`f`][`__boost_result_of_call__<F(E,S)>::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]]
]
[heading Expression Semantics]
accumulate(seq, initial_state, f);
[*Return type]: Any type
[*Semantics]: Equivalent to `f(eN ....f(e2,f(e1,initial_state)))` where `e1 ...eN` are the elements of `seq`.
[heading Complexity]
Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[heading Header]
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
#include <boost/fusion/include/accumulate.hpp>
[heading Example]
struct make_string
{
typedef std::string result_type;
template<typename T>
std::string operator()(const T& t, const std::string& str) const
{
return str + boost::lexical_cast<std::string>(t);
}
};
...
const __vector__<int,int> vec(1,2);
assert(__accumulate__(vec,std::string(""), make_string()) == "12");
[endsect]
[section for_each]
@ -218,7 +176,7 @@ Applies a unary function object to each element of a sequence.
typename F
>
typename __result_of_for_each__<Sequence, F>::type for_each(
Sequence& seq, F f);
Sequence& seq, F const& f);
[table Parameters
[[Parameter][Requirement][Description]]
@ -261,68 +219,84 @@ Linear, exactly `__result_of_size__<Sequence>::value` applications of `f`.
[section Metafunctions]
[template meta_fold_desc[name name_func seq_concept arg_id arg_type_id invoke_meta_desc]
[heading Description]
Returns the result type of [name_func].
[section fold]
[heading Description]
Returns the result type of __fold__.
[def name_macro [name]]
[heading Synopsis]
template<
typename Sequence,
typename State,
typename F>
struct name_macro
struct fold
{
typedef __unspecified__ type;
};
[def seq_concept_macro [seq_concept]]
[def arg_type_id_macro [arg_type_id]]
[def arg_id_macro [arg_id]]
[def invoke_meta_desc_macro [invoke_meta_desc]]
[table Parameters
[[Parameter] [Requirement] [Description]]
[[`Sequence`] [A model of seq_concept_macro] [The sequence to iterate]]
[[Parameter] [Requirement] [Description]]
[[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]]
[[`State`] [Any type] [The initial state for the first application of `F`]]
[[`F`] [`__boost_result_of_call__<F(S,arg_type_id_macro)>::type` is the return type of `f(s,arg_id_macro)` with current state `s` of type `S`, and an invoke_meta_desc_macro][The operation to be applied on traversal]]
[[`F`] [`__boost_result_of_call__<F(E,S)>::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]]
]
[heading Expression Semantics]
name_macro<Sequence, State, F>::type
__result_of_fold__<Sequence, State, F>::type
[*Return type]: Any type
[*Semantics]: Returns the result of applying [name_func] to a sequence of type
`Sequence`, with an initial state of type `State` and binary function object or
function pointer of type `F`.
[*Semantics]: Returns the result of applying `fold` to a sequence of type `Sequence`, with an initial state of
type `State` and binary function object or function pointer of type `F`.
[heading Complexity]
Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`.
[heading Header]
#include <boost/fusion/algorithm/iteration/name_macro.hpp>
#include <boost/fusion/include/name_macro.hpp>
]
#include <boost/fusion/algorithm/iteration/fold.hpp>
#include <boost/fusion/include/fold.hpp>
[section fold]
[meta_fold_desc fold..__fold__..__forward_sequence__..e..E..element `e` of type `E` in `seq`]
[endsect]
[section reverse_fold]
[meta_fold_desc reverse_fold..__reverse_fold__..__bidirectional_sequence__..e..E..element `e` of type `E` in `seq`]
[endsect]
[section iter_fold]
[meta_fold_desc iter_fold..__iter_fold__..__forward_sequence__..it..It..iterator `it` of type `It` on an element of `seq`]
[endsect]
[section reverse_iter_fold]
[meta_fold_desc reverse_iter_fold..__reverse_iter_fold__..__bidirectional_sequence__..it..It..iterator `it` of type `It` on an element of `seq`]
[endsect]
[section accumulate]
[meta_fold_desc accumulate..__accumulate__..__forward_sequence__..e..E..element `e` of type `E` in `seq`]
[heading Description]
Returns the result type of __accumulate__.
[heading Synopsis]
template<
typename Sequence,
typename State,
typename F>
struct accumulate
{
typedef __unspecified__ type;
};
[table Parameters
[[Parameter] [Requirement] [Description]]
[[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]]
[[`State`] [Any type] [The initial state for the first application of `F`]]
[[`F`] [`__boost_result_of_call__<F(E,S)>::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]]
]
[heading Expression Semantics]
__result_of_accumulate__<Sequence, State, F>::type
[*Return type]: Any type
[*Semantics]: Returns the result of applying `accumulate` to a sequence of type `Sequence`, with an initial state of
type `State` and binary function object or function pointer of type `F`.
[heading Complexity]
Linear, exactly `__result_of_size__<Sequence>::value` applications of `F`.
[heading Header]
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
#include <boost/fusion/include/accumulate.hpp>
[endsect]
[section for_each]
@ -609,8 +583,8 @@ or `__end__(seq)` if there is no such element.
[heading Complexity]
Linear. At most `__result_of_size__<Sequence>::value` comparisons.
#include <boost/fusion/algorithm/query/find_if.hpp>
#include <boost/fusion/include/find_if.hpp>
/algorithm/query/find_if.hpp>
[heading Example]
const __vector__<double,int> vec(1.0,2);
@ -821,7 +795,7 @@ Constant.
[section find]
[heading Description]
Returns the result type of __find__, given the sequence and search types.
Returns the result type of `find`, given the sequence and search types.
[heading Synopsis]
template<
@ -859,7 +833,7 @@ Linear, at most `__result_of_size__<Sequence>::value` comparisons.
[section find_if]
[heading Description]
Returns the result type of __find_if__ given the sequence and predicate types.
Returns the result type of `find_if` given the sequence and predicate types.
[heading Synopsis]
template<
@ -1009,10 +983,7 @@ For a given sequence, filter returns a new sequences containing only the element
[heading Expression Semantics]
__filter__<T>(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing all the elements of `seq` of type `T`.
Equivalent to `__filter_if__<boost::same_type<_, T> >(seq)`.
@ -1053,10 +1024,7 @@ only the elements with types for which a given __mpl_lambda_expression__ evaluat
[heading Expression Semantics]
__filter_if__<Pred>(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing all the elements of `seq` with types for which `Pred` evaluates
to `boost::mpl::true_`. The order of the retained elements is the same as in the original sequence.
@ -1257,10 +1225,7 @@ Returns a new sequence, with all the elements of the original sequence, except t
[heading Expression Semantics]
__remove__<T>(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except
those of type `T`. Equivalent to `__remove_if__<boost::is_same<_,T> >(seq)`.
@ -1301,10 +1266,7 @@ function object evaluates to `true`.
[heading Expression Semantics]
__remove_if__<Pred>(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except
those elements with types for which `Pred` evaluates to `boost::mpl::true_`.
@ -1343,11 +1305,7 @@ Returns a new sequence with the elements of the original in reverse order.
[heading Expression Semantics]
__reverse__(seq);
[*Return type]:
* A model of __bidirectional_sequence__ if `seq` is a __bidirectional_sequence__
else, __random_access_sequence__ if `seq` is a __random_access_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __bidirectional_sequence__.
[*Semantics]: Returns a new sequence containing all the elements of `seq` in reverse order.
@ -1432,19 +1390,13 @@ between two iterators.
[heading Expression Semantics]
__erase__(seq, pos);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq` except the element at `pos`.
__erase__(seq, first, last);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, with all the elements of `seq`, in their original order, except those
in the range [`first`,`last`).
@ -1467,27 +1419,26 @@ Constant. Returns a view which is lazily evaluated.
[section erase_key]
[heading Description]
For an [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ `seq`,
returns a [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ containing
all the elements of the original except those with a given key.
For an __associative_sequence__ `seq`, returns a __forward_sequence__ containing all the
elements of the original except those with a given key.
[heading Synposis]
template<
typename Key,
typename Sequence
>
typename __result_of_erase_key__<Sequence const, Key>::type erase_key(Sequence const& seq);
typename result_of::erase_key<Sequence const, Key>::type erase_key(Sequence const& seq);
[table Parameters
[[Parameter][Requirement][Description]]
[[`seq`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]]
[[`seq`][A model of __associative_sequence__][Operation's argument]]
[[`Key`][Any type][Key to erase]]
]
[heading Expression Semantics]
__erase_key__<Key>(seq);
[*Return type]: A model of __forward_sequence__ and __associative_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, except those with key `Key`.
@ -1516,8 +1467,7 @@ position described by a given iterator.
typename Pos,
typename T
>
typename __result_of_insert__<Sequence const, Pos, T>::type insert(
Sequence const& seq, Pos const& pos, T const& t);
__unspecified__ insert(Sequence const& seq, Pos const& pos, T const& t);
[table Parameters
[[Parameter][Requirement][Description]]
@ -1529,9 +1479,7 @@ position described by a given iterator.
[heading Expression Semantics]
__insert__(seq, p, t);
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, and a new element with the
type and value of `t` inserted at iterator `pos`.
@ -1572,12 +1520,9 @@ Returns a new sequence with another sequence inserted at a specified iterator.
]
[heading Expression Semantics]
__insert_range__(seq, pos, range);
__insert__(seq, pos, range);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, and the elements of
`range` inserted at iterator `pos`. All elements retaining their ordering from the orignal sequences.
@ -1616,12 +1561,9 @@ Takes 2 sequences and returns a sequence containing the elements of the first fo
[heading Expression Semantics]
__join__(lhs, rhs);
[*Return type]:
[*Return type]: A model of __forward_sequence__.
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `lhs` and `rhs` implement the __associative_sequence__ model.
[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of the elements is preserved.
[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of th elements is preserved.
[heading Complexity]
Constant. Returns a view which is lazily evaluated.
@ -1699,10 +1641,7 @@ Returns a new sequence, with the last element of the original removed.
[heading Expression Semantics]
__pop_back__(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence containing all the elements of `seq`, except the last element. The elements in the new sequence are in the same order as they were in `seq`.
@ -1739,10 +1678,7 @@ Returns a new sequence, with the first element of the original removed.
[heading Expression Semantics]
__pop_front__(seq);
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence containing all the elements of `seq`, except the first element. The elements in the new sequence are in the same order as they were in `seq`.
@ -1781,9 +1717,7 @@ Returns a new sequence with an element added at the end.
[heading Expression Semantics]
__push_back__(seq, t);
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the end. The elements are in the same order as they were in `seq`.
@ -1822,9 +1756,7 @@ Returns a new sequence with an element added at the beginning.
[heading Expression Semantics]
__push_back__(seq, t);
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the beginning. The elements are in the same order as they were in `seq`.
@ -1869,10 +1801,7 @@ Returns the result type of __filter__ given the sequence type and type to retain
[heading Expression Semantics]
__result_of_filter__<Sequence, T>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing the elements of `Sequence` that are of type `T`. Equivalent to `__result_of_filter_if__<Sequence, boost::is_same<mpl::_, T> >::type`.
@ -1910,10 +1839,7 @@ Returns the result type of __filter_if__ given the sequence and unary __mpl_lamb
[heading Expression Semantics]
__result_of_filter_if__<Sequence, Pred>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::true_`.
@ -1950,10 +1876,7 @@ with elements created by applying `f(e)` to each element of `e` of `seq`.
[heading Expression Semantics]
__transform__(seq, f);
[*Return type]:
* A model of __forward_sequence__
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__
[*Semantics]: Returns a new sequence, containing the return values of `f(e)` for each element `e` within `seq`.
@ -2101,10 +2024,7 @@ Returns the result type of __remove__, given the sequence and removal types.
[heading Expression Semantics]
__result_of_remove__<Sequence, T>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing the elements of `Sequence` not of type `T`. Equivalent to `__result_of_replace_if__<Sequence, boost::is_same<mpl::_, T> >::type`.
@ -2142,10 +2062,7 @@ Returns the result type of __remove_if__, given the input sequence and unary __m
[heading Expression Semantics]
__result_of_remove_if__<Sequence, Pred>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::false_`.
@ -2181,11 +2098,7 @@ Returns the result type of __reverse__, given the input sequence type.
[heading Expression Semantics]
__result_of_reverse__<Sequence>::type
[*Return type]:
* A model of __bidirectional_sequence__ if `Sequence` is a __bidirectional_sequence__
else, __random_access_sequence__ if `Sequence` is a __random_access_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __bidirectional_sequence__.
[*Semantics]: Returns a sequence with the elements in the reverse order to `Sequence`.
@ -2260,10 +2173,7 @@ Returns the result type of __erase__, given the input sequence and range delimit
[heading Expression Semantics]
__result_of_erase__<Sequence, It1>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a new sequence with the element at `It1` removed.
@ -2300,14 +2210,14 @@ Returns the result type of __erase_key__, given the sequence and key types.
[table Parameters
[[Parameter][Requirement][Description]]
[[`Sequence`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]]
[[`Sequence`][A model of __associative_sequence__][Operation's argument]]
[[`Key`][Any type][Key type]]
]
[heading Expression Semantics]
__result_of_erase_key__<Sequence, Key>::type
[*Return type]: A model of __forward_sequence__ and __associative_sequence__.
[*Return type]: A model of __associative_sequence__.
[*Semantics]: Returns a sequence with the elements of `Sequence`, except those with key `Key`.
@ -2347,9 +2257,7 @@ Returns the result type of __insert__, given the sequence, position iterator and
[heading Expression Semantics]
__result_of_insert__<Sequence, Position, T>::type
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with an element of type `T` inserted at position `Position` in `Sequence`.
@ -2389,10 +2297,7 @@ Returns the result type of __insert_range__, given the input sequence, position
[heading Expression Semantics]
__result_of_insert_range__<Sequence, Position, Range>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with the elements of `Range` inserted at position `Position` into `Sequence`.
@ -2424,10 +2329,7 @@ Returns the result of joining 2 sequences, given the sequence types.
[heading Expression Semantics]
__result_of_join__<LhSequence, RhSequence>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `LhSequence` amd `RhSequence` implement the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence containing the elements of `LhSequence` followed by the elements of `RhSequence`. The order of the elements in the 2 sequences is preserved.
@ -2497,10 +2399,7 @@ Returns the result type of __pop_back__, given the input sequence type.
[heading Expression Semantics]
__result_of_pop_back__<Sequence>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with all the elements of `Sequence` except the last element.
@ -2509,7 +2408,7 @@ Constant.
[heading Header]
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
#include <boost/fusion/algorithm/tranformation/pop_back.hpp>
#include <boost/fusion/include/pop_back.hpp>
[endsect]
@ -2536,20 +2435,14 @@ Returns the result type of __pop_front__, given the input sequence type.
[heading Expression Semantics]
__result_of_pop_front__<Sequence>::type
[*Return type]:
* A model of __forward_sequence__.
* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with all the elements of `Sequence` except the first element.
[heading Complexity]
Constant.
[heading Header]
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
#include <boost/fusion/include/pop_front.hpp>
/algorithm/transformation/pop_front.hpp>
[endsect]
@ -2577,19 +2470,14 @@ Returns the result type of __push_back__, given the types of the input sequence
[heading Expression Semantics]
__result_of_push_back__<Sequence, T>::type
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the end.
[heading Complexity]
Constant.
[heading Header]
#include <boost/fusion/algorithm/transformation/push_back.hpp>
#include <boost/fusion/include/push_back.hpp>
/algorithm/transformation/push_back.hpp>
[endsect]
@ -2617,19 +2505,14 @@ Returns the result type of __push_front__, given the types of the input sequence
[heading Expression Semantics]
__result_of_push_front__<Sequence, T>::type
[*Return type]:
* A model of __forward_sequence__.
[*Return type]: A model of __forward_sequence__.
[*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the beginning.
[heading Complexity]
Constant.
[heading Header]
#include <boost/fusion/algorithm/transformation/push_front.hpp>
#include <boost/fusion/include/push_front.hpp>
/algorithm/transformation/push_front.hpp>
[endsect]

View File

@ -1,8 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Copyright (C) 2006 Tobias Schwinger
Copyright (C) 2010 Christopher Schmidt
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
@ -15,7 +12,7 @@ This section summarizes significant changes to the Fusion library.
* Sep 27, 2006: Added `boost::tuple` support. (Joel de Guzman)
* Nov 17, 2006: Added `boost::variant` support. (Joel de Guzman)
* Feb 15, 2007: Added functional module. (Tobias Schwinger)
* April 2, 2007: Added struct adapter. (Joel de Guzman)
* 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
@ -24,26 +21,5 @@ This section summarizes significant changes to the Fusion library.
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)
* Oct 12, 2009: The accumulator is the first argument to the functor of
__fold__ and __accumulate__. (Christopher Schmidt)
* Oct 30, 2009: Added support for associative iterators and views. (Christopher
Schmidt)
* March 1, 2010: Added __adapt_struct_named__ and __adapt_struct_named_ns__
(Hartmut Kaiser)
* April 4, 2010: Added __array__ support, __adapt_tpl_struct__,
__adapt_assoc_tpl_struct__, __adapt_assoc_struct_named__ and
__adapt_assoc_struct_named_ns__ (Christopher Schmidt)
* April 5, 2010: Added __define_struct__, __define_tpl_struct__,
__define_assoc_struct__ and __define_assoc_tpl_struct__ (Christopher Schmidt)
* June 18, 2010: Added __reverse_fold__, __iter_fold__ and __reverse_iter_fold__
(Christopher Schmidt)
* October 7, 2010: Added __adapt_adt__, __adapt_tpl_adt__,
__adapt_assoc_adt__ and __adapt_assoc_tpl_adt__ (Joel de Guzman,
Hartmut Kaiser and Christopher Schmidt)
* August 29, 2011: Added support for segmented sequences and iterators (Eric Niebler)
* September 16, 2011: Added preprocessed files (using wave) to speed up
compilation (Joel de Guzman)
* October 8, 2011: Added adaptor for std::tuple (Joel de Guzman)
* October 10, 2011: Made map random access (Brandon Kohn)
[endsect]

View File

@ -1,6 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
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
@ -49,6 +48,7 @@ sequence container, and in many cases the most efficient.
[*Numbered forms]
template <>
struct vector0;
template <typename T0>
@ -303,7 +303,7 @@ complexity (see __overloaded_functions__).
#include <boost/fusion/container/set.hpp>
#include <boost/fusion/include/set.hpp>
#include <boost/fusion/container/set/set_fwd.hpp>
#include <boost/fusion/container/set_fwd.hpp>
#include <boost/fusion/include/set_fwd.hpp>
[heading Synopsis]
@ -385,7 +385,7 @@ __overloaded_functions__).
#include <boost/fusion/container/map.hpp>
#include <boost/fusion/include/map.hpp>
#include <boost/fusion/container/map/map_fwd.hpp>
#include <boost/fusion/container/map_fwd.hpp>
#include <boost/fusion/include/map_fwd.hpp>
[heading Synopsis]
@ -420,7 +420,7 @@ including any Fusion header to change the default. Example:
[heading Model of]
* __associative_sequence__
* __random_access_sequence__
* __forward_sequence__
[variablelist Notation
[[`M`] [A `map` type]]
@ -432,7 +432,7 @@ including any Fusion header to change the default. Example:
[heading Expression Semantics]
Semantics of an expression is defined only where it differs from, or is not
defined in __forward_sequence__ and __associative_sequence__.
defined in __random_access_sequence__ and __associative_sequence__.
[table
[[Expression] [Semantics]]
@ -629,13 +629,14 @@ Create a __set__ from one or more values.
typename __result_of_make_set__<T0, T1,... TN>::type
make_set(T0 const& x0, T1 const& x1... TN const& xN);
The variadic function accepts `0` to `FUSION_MAX_SET_SIZE` elements,
where `FUSION_MAX_SET_SIZE` is a user definable predefined maximum that
defaults to `10`. You may define the preprocessor constant
`FUSION_MAX_SET_SIZE` before including any Fusion header to change the
default. Example:
The variadic function accepts `0` to `FUSION_MAX_VECTOR_SIZE`[footnote
`set` is implemented in terms of the vector. That is why we reuse
`FUSION_MAX_VECTOR_SIZE`] elements, where `FUSION_MAX_VECTOR_SIZE` is a user
definable predefined maximum that defaults to `10`. You may define the
preprocessor constant `FUSION_MAX_VECTOR_SIZE` before including any Fusion
header to change the default. Example:
#define FUSION_MAX_SET_SIZE 20
#define FUSION_MAX_VECTOR_SIZE 20
[heading Parameters]
@ -683,13 +684,14 @@ Create a __map__ from one or more key/data pairs.
typename __result_of_make_map__<K0, K0,... KN, T0, T1,... TN>::type
make_map(T0 const& x0, T1 const& x1... TN const& xN);
The variadic function accepts `0` to `FUSION_MAX_MAP_SIZE` elements,
where `FUSION_MAX_MAP_SIZE` is a user definable predefined maximum that
defaults to `10`. You may define the preprocessor constant
`FUSION_MAX_MAP_SIZE` before including any Fusion header to change the
default. Example:
The variadic function accepts `0` to `FUSION_MAX_VECTOR_SIZE`[footnote
`map` is implemented in terms of the vector. That is why we reuse
`FUSION_MAX_VECTOR_SIZE`] elements, where `FUSION_MAX_VECTOR_SIZE` is a user
definable predefined maximum that defaults to `10`. You may define the
preprocessor constant `FUSION_MAX_VECTOR_SIZE` before including any Fusion
header to change the default. Example:
#define FUSION_MAX_MAP_SIZE 20
#define FUSION_MAX_VECTOR_SIZE 20
[heading Parameters]
@ -717,7 +719,9 @@ default. Example:
[heading Example]
make_map<int, double>('X', "Men")
make_map(
__fusion_make_pair__<int>('X')
, __fusion_make_pair__<double>("Men"))
[heading See also]
@ -1039,8 +1043,8 @@ rules for __element_conversion__.
[heading Header]
#include <boost/fusion/container/generation/make_vector.hpp>
#include <boost/fusion/include/make_vector.hpp>
#include <boost/fusion/container/generation/make_list.hpp>
#include <boost/fusion/include/make_list.hpp>
[heading Example]
@ -1059,13 +1063,14 @@ Returns the result type of __make_set__.
template <typename T0, typename T1,... typename TN>
struct make_set;
The variadic function accepts `0` to `FUSION_MAX_SET_SIZE` elements,
where `FUSION_MAX_SET_SIZE` is a user definable predefined maximum that
defaults to `10`. You may define the preprocessor constant
`FUSION_MAX_SET_SIZE` before including any Fusion header to change the
default. Example:
The variadic function accepts `0` to `FUSION_MAX_VECTOR_SIZE`[footnote
`set` is implemented in terms of the vector. That is why we reuse
`FUSION_MAX_VECTOR_SIZE`] elements, where `FUSION_MAX_VECTOR_SIZE` is a user
definable predefined maximum that defaults to `10`. You may define the
preprocessor constant `FUSION_MAX_VECTOR_SIZE` before including any Fusion
header to change the default. Example:
#define FUSION_MAX_SET_SIZE 20
#define FUSION_MAX_VECTOR_SIZE 20
[heading Parameters]
@ -1109,13 +1114,14 @@ Returns the result type of __make_map__.
, typename T0, typename T1,... typename TN>
struct make_map;
The variadic function accepts `0` to `FUSION_MAX_MAP_SIZE` elements,
where `FUSION_MAX_MAP_SIZE` is a user definable predefined maximum that
defaults to `10`. You may define the preprocessor constant
`FUSION_MAX_MAP_SIZE` before including any Fusion header to change the
default. Example:
The variadic function accepts `0` to `FUSION_MAX_VECTOR_SIZE`[footnote
`map` is implemented in terms of the vector. That is why we reuse
`FUSION_MAX_VECTOR_SIZE`] elements, where `FUSION_MAX_VECTOR_SIZE` is a user
definable predefined maximum that defaults to `10`. You may define the
preprocessor constant `FUSION_MAX_VECTOR_SIZE` before including any Fusion
header to change the default. Example:
#define FUSION_MAX_MAP_SIZE 20
#define FUSION_MAX_VECTOR_SIZE 20
[heading Parameters]

View File

@ -1,6 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
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
@ -146,15 +145,15 @@ our iterator's tag type.
The implementation itself is pretty simple, it just uses 2 partial specializations to
provide the type of the 2 different members of `example_struct`, based on the index of the iterator.
To understand how `value_of_impl` is used by the library we will look at the implementation of __result_of_value_of__:
To understand how `value_of_impl` is used by the library we will look at the implementation of __value_of__:
template <typename Iterator>
struct value_of
struct __value_of__
: extension::value_of_impl<typename detail::tag_of<Iterator>::type>::
template apply<Iterator>
{};
So __result_of_value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__
So __value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__
to provide its functionality. You will notice this pattern throughout the
implementation of Fusion.
@ -217,7 +216,7 @@ To see how `deref_impl` is used, lets have a look at the implementation of __der
}
So again __result_of_deref__ uses __tag_dispatching__ in exactly the
same way as the __result_of_value_of__ implementation. The runtime functionality used
same way as the __value_of__ implementation. The runtime functionality used
by __deref__ is provided by the `call` static function of the selected
__mpl_metafunction_class__.
@ -228,14 +227,14 @@ bit of metaprogramming to return `const` references if the underlying sequence
is const.
[note Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, __result_of_value_of__ and __deref__ illustrate all the signficant concepts
Fusion sequence, __value_of__ and __deref__ illustrate all the signficant concepts
required. The remainder of the process is very repetitive, simply requiring
implementation of a suitable `xxxx_impl` for each feature `xxxx`.
]
[heading Implementing the remaining iterator functionality]
Ok, now we have seen the way __result_of_value_of__ and __deref__ work, everything else will work
Ok, now we have seen the way __value_of__ and __deref__ work, everything else will work
in pretty much the same way. Lets start with forward iteration,
by providing a `next_impl`:
@ -318,15 +317,14 @@ is provided in the example code.
For our __random_access_sequence__ we will also need to implement `size_impl`,
`value_at_impl` and `at_impl`.
[heading Enabling our type as an associative sequence]
[heading Enabling our type as an associative container]
In order for `example_struct` to serve as an associative forward sequence,
we need to adapt the traversal category of our sequence and our iterator
accordingly and enable 3 intrinsic sequence lookup features, __at_key__,
__value_at_key__ and __has_key__. We also need to enable 3 iterator lookup
features, __result_of_key_of__, __result_of_value_of_data__ and __deref_data__.
In order for `example_struct` to serve as an associative container,
we need to enable 3 lookup features, __at_key__, __value_at_key__ and __has_key__.
We also need to provide an implementation of the `is_associative` trait
so that our sequence can be correctly identified as an associative container.
To implement `at_key_impl` we need to associate the `fields::name` and `fields::age`
To implement `at_key_impl` we need to associate the `fields::age` and `fields::age`
types described in the __quick_start__ guide with the appropriate members of `example_struct`.
Our implementation is as follows:
@ -371,14 +369,15 @@ Its all very similar to the implementations we've seen previously,
such as `deref_impl` and `value_of_impl`. Instead of identifying
the members by index or position, we are now selecting them using
the types `fields::name` and `fields::age`. The implementations of
the other functions are equally straightforward, and are provided in
the example code.
`value_at_key_impl` and `has_key_impl` are equally straightforward,
and are provided in the example code, along with an implementation
of `is_associative_impl`.
[heading Summary]
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
sequence. The implementation was slightly longwinded, but followed
container. The implementation was slightly longwinded, but followed
a simple repeating pattern.
The support for `std::pair`, __mpl__ sequences, and `boost::array` all
@ -391,7 +390,7 @@ for a variety of types.
[heading Description]
The __sequence_facade__ template provides an intrusive mechanism for
producing a conforming Fusion sequence.
producing a conforming Fusion iterator.
[heading Synopsis]
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_>
@ -416,8 +415,6 @@ The user must the implement the key expressions required by their sequence type.
[[`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 empty<Seq>::type`][Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise.]]
[[`sequence::template empty<Seq>::call`][Returns a type convertible to `bool` that evaluates to true if the sequence is empty, else, evaluates to false. ]]
[[`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`]]
@ -468,12 +465,8 @@ The user must the implement the key expressions required by their iterator type.
[[`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`][Returns `mpl::true_` if `It1` is equal to `It2`, `mpl::false_` otherwise.][`boost::same_type<It1, It2>::type`]]
[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][Returns a type convertible to `bool` that evaluates to `true` if `It1` is equal to `It2`, `false` otherwise.][`boost::same_type<It1, It2>::type()`]]
[[`iterator::template key_of<It>::type`][The key type associated with the element from `It`][None]]
[[`iterator::template value_of_data<It>::type`][The type of the data property associated with the element from `It`][None]]
[[`iterator::template deref_data<It>::type`][The type that will be returned by dereferencing the data property of the element from `It`][None]]
[[`iterator::template deref_data<It>::call(it)`][Deferences the data property associated with the element referenced by `it`][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]

View File

@ -1,5 +1,5 @@
[/==============================================================================
Copyright (C) 2006 Tobias Schwinger
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
@ -10,9 +10,7 @@
Components to call functions and function objects and to make Fusion code
callable through a function object interface.
[heading Header]
#include <boost/fusion/functional.hpp>
/functional.hpp>
[heading Fused and unfused forms]
@ -57,8 +55,6 @@ functions and adapters to transform them into fused form, respectively.
Every variant has a corresponding generator function template that returns
an adapter instance for the given argument.
Constructors can be called applying __boost_func_factory__.
[heading Making Fusion code callable through a function object interface]
Transforming a fused function into its unfused counterpart allows to create
@ -66,12 +62,11 @@ function objects to accept arbitrary calls. In other words, an unary function
object can be implemented instead of (maybe heavily overloaded) function
templates or function call operators.
The library provides both a strictly typed and a generic variant for this
transformation. The latter should be used in combination with
__boost_func_forward__ to attack __the_forwarding_problem__.
Both variants have a corresponding generator function template that returns an
adapter instance for the given argument.
The library provides several adapter variants that implement this
transformation, ranging from strictly typed to fully generic. The latter
provides a reusable, approximate solution to __the_forwarding_problem__.
Every generic variant has a corresponding generator function template that
returns an adapter instance for the given argument.
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -262,8 +257,6 @@ In case of the latter, a freestanding [^get_pointer] function must be
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
Constructors can be called applying __boost_func_factory__.
[heading Synopsis]
template<
typename Function,
@ -296,9 +289,7 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns
the result of the call expression.
[heading Header]
#include <boost/fusion/functional/invocation/invoke.hpp>
/functional/invocation/invoke.hpp>
[heading Example]
__std_plus_doc__<int> add;
@ -309,7 +300,6 @@ the result of the call expression.
* __invoke_function_object__
* __result_of_invoke__
* __fused__
* __make_fused__
[endsect]
@ -362,9 +352,7 @@ implemented).
[*Semantics]: Invokes `f` with the elements in `s` as arguments.
[heading Header]
#include <booost/fusion/functional/invocation/invoke_procedure.hpp>
/functional/invocation/invoke_procedure.hpp>
[heading Example]
__vector__<int,int> v(1,2);
@ -377,7 +365,6 @@ implemented).
* __invoke_function_object__
* __result_of_invoke_procedure__
* __fused_procedure__
* __make_fused_procedure__
[endsect]
@ -390,8 +377,6 @@ Calls a __poly_func_obj__ with the arguments from a __sequence__.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
Constructors can be called applying __boost_func_factory__.
[heading Synopsis]
template<
typename Function,
@ -424,9 +409,7 @@ arguments.
[*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the
result of the call expression.
[heading Header]
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
/functional/invocation/invoke_function_object.hpp>
[heading Example]
struct sub
@ -456,7 +439,6 @@ result of the call expression.
* __invoke_procedure__
* __result_of_invoke_function_object__
* __fused_function_object__
* __make_fused_function_object__
[endsect]
@ -538,23 +520,6 @@ Returns the result type of __invoke_function_object__.
[endsect] [/ Metafunctions ]
[section Limits]
[heading Header]
#include <boost/fusion/functional/invocation/limits.hpp>
[heading Macros]
The following macros can be defined to change the maximum arity.
The default is 6.
* BOOST_FUSION_INVOKE_MAX_ARITY
* BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY
* BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY
[endsect]
[endsect] [/ Invocation ]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -586,9 +551,7 @@ In case of the latter, a freestanding [^get_pointer] function must be
defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
[heading Header]
#include <boost/fusion/functional/adapter/fused.hpp>
/functional/adapter/fused.hpp>
[heading Synopsis]
template <typename Function>
@ -631,7 +594,6 @@ __boost_shared_ptr_call__).
* __fused_procedure__
* __fused_function_object__
* __invoke__
* __make_fused__
* __deduce__
[endsect]
@ -665,9 +627,7 @@ 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
is not implemented).
[heading Header]
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
/functional/adapter/fused_procedure.hpp>
[heading Synopsis]
template <typename Function>
@ -723,7 +683,6 @@ is not implemented).
* __fused__
* __fused_function_object__
* __invoke_procedure__
* __make_fused_procedure__
[endsect]
@ -741,9 +700,7 @@ reference. Const qualification is preserved and propagated appropriately
target function object that is const or, if the target function object
is held by value, the adapter is const).
[heading Header]
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
/functional/adapter/fused_function_object.hpp>
[heading Synopsis]
template <class Function>
@ -816,50 +773,43 @@ is held by value, the adapter is const).
* __fused__
* __fused_procedure__
* __invoke_function_object__
* __make_fused_function_object__
* __deduce__
[endsect]
[section unfused]
[section unfused_generic]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target function
object.
__random_access_sequence__ of references that is passed to the target function.
Non-const __lvalue__ arguments are transported as references to non-const, otherwise
references to const are used.
The nullary overload of the call operator can be removed by setting the
second template parameter to `false`, which is very useful if the result type
computation would result in a compile error, otherwise (nullary call
operator's prototypes can't be templates and thus are instantiated as early
as the class template).
Only __lvalue__ arguments are accepted. To overcome this limitation, apply
__boost_func_forward__.
[blurb __tip__ Detecting mutable LValues on a per-argument basis is currently a
compile time expensive operation (see __the_forwarding_problem__ for
details). Therefore, there are two, lightweight and more restricted variants
of this class template, __unfused_lvalue_args__ and __unfused_rvalue_args__.]
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately.
In other words, only const versions of [^operator()] can be used if
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function
object is held by value, the adapter is const.
object is held by value, the adapter is const).
[heading Header]
#include <boost/fusion/functional/adapter/unfused.hpp>
/functional/adapter/unfused_generic.hpp>
[heading Synopsis]
template <class Function, bool AllowNullary = true>
class unfused;
template <class Function>
class unfused_generic;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
[[`AllowNullary`] [Boolean constant] [true]]
[[Parameter] [Description] [Default]]
[[`Function`] [An unary __poly_func_obj__] []]
]
[heading Model of]
@ -870,7 +820,114 @@ object is held by value, the adapter is const.
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UL`] [The type `unfused<F>`]]
[[`UG`] [The type `unfused_generic<F>`]]
[[`ug`] [An instance of `UG`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ug`]]
]
[heading Expression Semantics]
[table
[[Expression] [Semantics]]
[[`UG(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
[[`UG()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
[[`ug(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
]
[heading Example]
template <typename Function, typename T>
class fused_bound_1st
{
typename traits::deduce<Function>::type fnc_deferred;
typename traits::deduce<T>::type xxx_bound;
public:
fused_bound_1st(Function deferred, T bound)
: fnc_deferred(deferred), xxx_bound(bound)
{ }
template <typename Sig>
struct result;
template <class Self, class Seq>
struct result< Self(Seq) >
: result_of::invoke< Function, typename result_of::push_front<
typename remove_reference<Seq>::type, T>::type >
{ };
template <class Seq>
typename result< void(Seq) >::type operator()(Seq const & s) const
{
return invoke(fnc_deferred, push_front(s,xxx_bound));
}
};
template <typename Function, typename T>
unfused_generic< fused_bound_1st<Function,T> >
bind_1st(Function f, T const & x)
{
return unfused_generic< fused_bound_1st<Function,T> >(
fused_bound_1st<Function,T>(f,x) );
}
int test_func(int a, int b, int c)
{
return a+b+c;
}
void try_it()
{
assert(bind_1st(& test_func,3)(-2,-1) == 0);
assert(bind_1st(std::plus<float>(), 1)(0.5f) == 1.5f);
}
[heading See also]
* __unfused_lvalue_args__
* __unfused_rvalue_args__
* __unfused_typed__
* __deduce__
* __deduce_sequence__
[endsect]
[section unfused_lvalue_args]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target function
object. Only __lvalue__ arguments are accepted.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function
object is held by value, the adapter is const).
/functional/adapter/unfused_lvalue_args.hpp>
[heading Synopsis]
template <class Function>
class unfused_lvalue_args;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
]
[heading Model of]
* __poly_func_obj__
* __def_callable_obj__
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UL`] [The type `unfused_lvalue_args<F>`]]
[[`ul`] [An instance of `UL`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ul`]]
]
@ -902,15 +959,97 @@ object is held by value, the adapter is const.
void try_it()
{
unfused<fused_incrementer> increment;
unfused_lvalue_args<fused_incrementer> increment;
int a = 2; char b = 'X';
increment(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
* __unfused_rvalue_args__
* __unfused_generic__
* __unfused_typed__
* __make_unfused__
[endsect]
[section unfused_rvalue_args]
[heading Description]
An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
target function. When called, its arguments are bundled to a
__random_access_sequence__ of references that is passed to the target
function object. All referenced objects in the sequence are const qualified.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used if
the target function object is const - or, in case the target function object
is held by value, the adapter is const).
/functional/adapter/unfused_rvalue_args.hpp>
[heading Synopsis]
template <class Function>
class unfused_rvalue_args;
[heading Template parameters]
[table
[[Parameter] [Description] [Default]]
[[`Function`] [A unary __poly_func_obj__] []]
]
[heading Model of]
* __poly_func_obj__
* __def_callable_obj__
[variablelist Notation
[[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
[[`f`] [An object convertible to `F`]]
[[`UR`] [The type `unfused_rvalue_args<F>`]]
[[`ur`] [An instance of `UR`, initialized with `f`]]
[[`a0`...`aN`] [Arguments to `ur`]]
]
[heading Expression Semantics]
[table
[[Expression] [Semantics]]
[[`UR(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
[[`UR()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
[[`ur(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
]
[heading Example]
struct sequence_printer
{
template <class Seq>
struct result
{
typedef void type;
};
template <class Seq>
void operator()(Seq const & s) const
{
std::cout << s << std::endl;
}
};
void try_it()
{
unfused_rvalue_args<sequence_printer> print;
print(24,"bottles of beer in",'a',"box.");
}
[heading See also]
* __unfused_lvalue_args__
* __unfused_generic__
* __unfused_typed__
* __deduce__
* __deduce_sequence__
[endsect]
@ -939,9 +1078,7 @@ Therefore the adapter is always treated as if it was const. ]
non-reference elements, the element is copied only once - the call operator's
signature is optimized automatically to avoid by-value parameters.]
[heading Header]
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
/functional/adapter/unfused_typed.hpp>
[heading Synopsis]
template <class Function, class Sequence>
@ -1032,7 +1169,7 @@ signature is optimized automatically to avoid by-value parameters.]
fused_parallel_adder<Seq>(tie) );
}
};
unfused<fused_parallel_adder_maker> parallel_add;
unfused_lvalue_args<fused_parallel_adder_maker> parallel_add;
void try_it()
{
@ -1046,29 +1183,14 @@ signature is optimized automatically to avoid by-value parameters.]
}
[heading See also]
* __unfused__
* __unfused_generic__
* __unfused_lvalue_args__
* __unfused_rvalue_args__
* __deduce__
* __deduce_sequence__
[endsect]
[section Limits]
[heading Header]
#include <boost/fusion/functional/adapter/limits.hpp>
[heading Macros]
The following macros can be defined to change the maximum arity.
The value used for these macros must not exceed `FUSION_MAX_VECTOR_SIZE`.
The default is 6.
* BOOST_FUSION_UNFUSED_MAX_ARITY
* BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY
[endsect]
[endsect] [/ Adapters]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -1231,16 +1353,16 @@ The usual __element_conversion__ is applied to the target function.
[endsect]
[section:mk_unfused make_unfused]
[section:mk_unfused_genrc make_unfused_generic]
[heading Description]
Creates a __unfused__ adapter for a given, unary __poly_func_obj__.
Creates a __unfused_generic__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused__<F>::type
make_unfused(F const & f);
inline typename __result_of_make_unfused_generic__<F>::type
make_unfused_generic(F const & f);
[heading Parameters]
[table
@ -1250,16 +1372,85 @@ The usual __element_conversion__ is applied to the target function.
[heading Expression Semantics]
make_unfused(f);
make_unfused_generic(f);
[*Return type]: A specialization of __unfused__.
[*Return type]: A specialization of __unfused_generic__.
[*Semantics]: Returns a __unfused__ adapter for `f`.
[*Semantics]: Returns a __unfused_generic__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused.hpp>
#include <boost/fusion/include/make_unfused.hpp>
#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
[heading Example]
struct bottles_song
{
typedef void result_type;
template<class Seq>
void operator()(Seq & s) const
{
typename result_of::at_c<Seq,0>::type n = at_c<0>(s);
typename result_of::at_c<Seq,1>::type what = at_c<1>(s);
std::cout
<< n << " bottles of " << what << " on the wall.\n"
<< n << " bottles of " << what << "!\n"
<< "Take one down - pass it around.\n";
n -= 1; // glug glug...
std::cout
<< n << " bottles of " << what << " on the wall.\n"
<< std::endl;
}
};
void try_it()
{
unsigned n_milk = 99;
for(int i = 0; i < 3; ++i)
make_unfused_generic(bottles_song())(n_milk,"milk");
// 96 bottles left for me
}
[heading See also]
* __unfused_generic__
* __deduce__
* __result_of_make_unfused_generic__
[endsect]
[section:mk_unfused_lvargs make_unfused_lvalue_args]
[heading Description]
Creates a __unfused_lvalue_args__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused_lvalue_args__<F>::type
make_unfused_lvalue_args(F const & f);
[heading Parameters]
[table
[[Parameter] [Requirement] [Description]]
[[`f`] [Model of __poly_func_obj__] [The function to transform.]]
]
[heading Expression Semantics]
make_unfused_lvalue_args(f);
[*Return type]: A specialization of __unfused_lvalue_args__.
[*Semantics]: Returns a __unfused_lvalue_args__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
[heading Example]
struct fused_incrementer
@ -1280,14 +1471,73 @@ The usual __element_conversion__ is applied to the target function.
void try_it()
{
int a = 2; char b = 'X';
make_unfused(fused_incrementer())(a,b);
make_unfused_lvalue_args(fused_incrementer())(a,b);
assert(a == 3 && b == 'Y');
}
[heading See also]
* __unfused__
* __unfused_lvalue_args__
* __deduce__
* __result_of_make_unfused__
* __result_of_make_unfused_lvalue_args__
[endsect]
[section:mk_unfused_rvargs make_unfused_rvalue_args]
[heading Description]
Creates a __unfused_rvalue_args__ adapter for a given, unary __poly_func_obj__.
The usual __element_conversion__ is applied to the target function.
[heading Synopsis]
template <typename F>
inline typename __result_of_make_unfused_rvalue_args__<F>::type
make_unfused_rvalue_args(F const & f);
[heading Parameters]
[table
[[Parameter] [Requirement] [Description]]
[[`f`] [Model of __poly_func_obj__] [The function to transform.]]
]
[heading Expression Semantics]
make_unfused_rvalue_args(f);
[*Return type]: A specialization of __unfused_rvalue_args__.
[*Semantics]: Returns a __unfused_rvalue_args__ adapter for `f`.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Example]
struct sequence_printer
{
template <class Seq>
struct result
{
typedef void type;
};
template <class Seq>
void operator()(Seq const & s) const
{
std::cout << s << std::endl;
}
};
void try_it()
{
make_unfused_rvalue_args(sequence_printer())
(24,"bottles of beer in",'a',"box.");
}
[heading See also]
* __unfused_rvalue_args__
* __deduce__
* __result_of_make_unfused_rvalue_args__
[endsect]
@ -1370,28 +1620,78 @@ Returns the result type of __make_fused_function_object__.
[endsect]
[section:mk_unfused make_unfused]
[section:mk_unfused_genrc make_unfused_generic]
[heading Description]
Returns the result type of __make_unfused__.
Returns the result type of __make_unfused_generic__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused.hpp>
#include <boost/fusion/include/make_unfused.hpp>
#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
#include <boost/fusion/include/make_unfused_generic.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused
struct make_unfused_generic
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused__
* __make_unfused_generic__
[endsect]
[section:mk_unfused_lvargs make_unfused_lvalue_args]
[heading Description]
Returns the result type of __make_unfused_lvalue_args__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
#include <boost/fusion/include/make_unfused_lvalue_args.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused_lvalue_args
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused_lvalue_args__
[endsect]
[section:mk_unfused_rvargs make_unfused_rvalue_args]
[heading Description]
Returns the result type of __make_unfused_rvalue_args__.
[heading Header]
#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
#include <boost/fusion/include/make_unfused_rvalue_args.hpp>
[heading Synopsis]
namespace result_of
{
template<typename Function>
struct make_unfused_rvalue_args
{
typedef __unspecified__ type;
};
}
[heading See also]
* __make_unfused_rvalue_args__
[endsect]

View File

@ -1,7 +1,5 @@
[/==============================================================================
Copyright (C) 2001-2011 Joel de Guzman
Copyright (C) 2006 Dan Marsden
Copyright (C) 2010 Christopher Schmidt
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
@ -9,9 +7,9 @@
===============================================================================/]
[library Fusion
[quickbook 1.3]
[version 2.2]
[version 2.0]
[authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
[copyright 2001 2002 2003 2004 2005 2006 2011 Joel de Guzman, Dan Marsden, Tobias Schwinger]
[copyright 2001 2002 2003 2004 2005 2006 2007 Joel de Guzman, Dan Marsden, Tobias Schwinger]
[purpose Statically Typed Heterogeneous Data Structures and Algorithms]
[license
Distributed under the Boost Software License, Version 1.0.
@ -51,8 +49,6 @@
[def __boost_result_of_call__ [@http://www.boost.org/libs/utility/utility.htm#result_of `boost::result_of`]]
[def __boost_enable_if__ [@http://www.boost.org/libs/utility/enable_if.html Boost.EnableIf utility]]
[def __boost_shared_ptr_call__ [@http://www.boost.org/libs/smart_ptr/shared_ptr.htm `boost::shared_ptr`]]
[def __boost_func_forward__ [@http://www.boost.org/libs/functional/forward/doc/html/index.html Boost.Functional/Forward]]
[def __boost_func_factory__ [@http://www.boost.org/libs/functional/factory/doc/html/index.html Boost.Functional/Factory]]
[def __std_pair_doc__ [@http://www.sgi.com/tech/stl/pair.html `std::pair`]]
[def __std_plus_doc__ [@http://www.sgi.com/tech/stl/plus.html `std::plus`]]
[def __std_minus_doc__ [@http://www.sgi.com/tech/stl/minus.html `std::minus`]]
@ -81,7 +77,6 @@
[def __forward_iterator__ [link fusion.iterator.concepts.forward_iterator Forward Iterator]]
[def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]]
[def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]]
[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]]
[def __next__ [link fusion.iterator.functions.next `next`]]
[def __prior__ [link fusion.iterator.functions.prior `prior`]]
@ -89,7 +84,6 @@
[def __advance_c__ [link fusion.iterator.functions.advance_c `advance_c`]]
[def __distance__ [link fusion.iterator.functions.distance `distance`]]
[def __deref__ [link fusion.iterator.functions.deref `deref`]]
[def __deref_data__ [link fusion.iterator.functions.deref_data `deref_data`]]
[def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]]
[def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]]
@ -99,9 +93,7 @@
[def __result_of_distance__ [link fusion.iterator.metafunctions.distance `result_of::distance`]]
[def __result_of_deref__ [link fusion.iterator.metafunctions.deref `result_of::deref`]]
[def __result_of_value_of__ [link fusion.iterator.metafunctions.value_of `result_of::value_of`]]
[def __result_of_key_of__ [link fusion.iterator.metafunctions.key_of `result_of::key_of`]]
[def __result_of_value_of_data__ [link fusion.iterator.metafunctions.value_of_data `result_of::value_of_data`]]
[def __result_of_deref_data__ [link fusion.iterator.metafunctions.deref_data `result_of::deref_data`]]
[def __value_of__ [link fusion.iterator.metafunctions.value_of `value_of`]]
[def __sequence__ [link fusion.sequence Sequence]]
[def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]]
@ -129,24 +121,9 @@
[def __reverse_view__ [link fusion.view.reverse_view `reverse_view`]]
[def __zip_view__ [link fusion.view.zip_view `zip_view`]]
[def __array__ [link fusion.adapted.array array]]
[def __std_pair__ [link fusion.adapted.std__pair `std::pair`]]
[def __boost_array__ [link fusion.adapted.boost__array `boost::array`]]
[def __mpl_sequence__ [link fusion.adapted.mpl_sequence mpl sequence]]
[def __adapt_tpl_struct__ [link fusion.adapted.adapt_tpl_struct `BOOST_FUSION_ADAPT_TPL_STRUCT`]]
[def __adapt_struct_named__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED`]]
[def __adapt_struct_named_ns__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED_NS`]]
[def __adapt_assoc_tpl_struct__ [link fusion.adapted.adapt_assoc_tpl_struct `BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT`]]
[def __adapt_assoc_struct_named__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED`]]
[def __adapt_assoc_struct_named_ns__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS`]]
[def __adapt_adt__ [link fusion.adapted.adapt_adt `BOOST_FUSION_ADAPT_ADT`]]
[def __adapt_tpl_adt__ [link fusion.adapted.adapt_tpl_adt `BOOST_FUSION_ADAPT_TPL_ADT`]]
[def __adapt_assoc_adt__ [link fusion.adapted.adapt_assoc_adt `BOOST_FUSION_ADAPT_ASSOC_ADT`]]
[def __adapt_assoc_tpl_adt__ [link fusion.adapted.adapt_assoc_tpl_adt `BOOST_FUSION_ADAPT_ASSOC_TPL_ADT`]]
[def __define_struct__ [link fusion.adapted.define_struct `BOOST_FUSION_DEFINE_STRUCT`]]
[def __define_tpl_struct__ [link fusion.adapted.define_tpl_struct `BOOST_FUSION_DEFINE_TPL_STRUCT`]]
[def __define_assoc_struct__ [link fusion.adapted.define_assoc_struct `BOOST_FUSION_DEFINE_ASSOC_STRUCT`]]
[def __define_assoc_tpl_struct__ [link fusion.adapted.define_assoc_tpl_struct `BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT`]]
[def __intrinsic__ [link fusion.sequence.intrinsic Intrinsic]]
[def __intrinsics__ [link fusion.sequence.intrinsic Intrinsics]]
@ -170,6 +147,7 @@
[def __result_of_at_key__ [link fusion.sequence.intrinsic.metafunctions.at_key `result_of::at_key`]]
[def __has_key__ [link fusion.sequence.intrinsic.functions.has_key `has_key`]]
[def __result_of_has_key__ [link fusion.sequence.intrinsic.metafunctions.has_key `result_of::has_key`]]
[def __value_at_key__ [link fusion.sequence.intrinsic.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_c__ [link fusion.sequence.intrinsic.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`]]
@ -216,15 +194,8 @@
[def __algorithm__ [link fusion.algorithm Algorithm]]
[def __algorithms__ [link fusion.algorithm Algorithms]]
[def __copy__ [link fusion.algorithm.auxiliary.functions.copy `copy`]]
[def __fold__ [link fusion.algorithm.iteration.functions.fold `fold`]]
[def __result_of_fold__ [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]]
[def __reverse_fold__ [link fusion.algorithm.iteration.functions.reverse_fold `reverse_fold`]]
[def __result_of_reverse_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_fold `result_of::reverse_fold`]]
[def __iter_fold__ [link fusion.algorithm.iteration.functions.iter_fold `iter_fold`]]
[def __result_of_iter_fold__ [link fusion.algorithm.iteration.metafunctions.iter_fold `result_of::iter_fold`]]
[def __reverse_iter_fold__ [link fusion.algorithm.iteration.functions.reverse_iter_fold `reverse_iter_fold`]]
[def __result_of_reverse_iter_fold__ [link fusion.algorithm.iteration.metafunctions.reverse_iter_fold `result_of::reverse_iter_fold`]]
[def __accumulate__ [link fusion.algorithm.iteration.functions.accumulate `accumulate`]]
[def __result_of_accumulate__ [link fusion.algorithm.iteration.metafunctions.accumulate `result_of::accumulate`]]
[def __for_each__ [link fusion.algorithm.iteration.functions.for_each `for_each`]]
@ -293,7 +264,9 @@
[def __fused__ [link fusion.functional.adapters.fused `fused`]]
[def __fused_procedure__ [link fusion.functional.adapters.fused_procedure `fused_procedure`]]
[def __fused_function_object__ [link fusion.functional.adapters.fused_function_object `fused_function_object`]]
[def __unfused__ [link fusion.functional.adapters.unfused `unfused`]]
[def __unfused_generic__ [link fusion.functional.adapters.unfused_generic `unfused_generic`]]
[def __unfused_lvalue_args__ [link fusion.functional.adapters.unfused_lvalue_args `unfused_lvalue_args`]]
[def __unfused_rvalue_args__ [link fusion.functional.adapters.unfused_rvalue_args `unfused_rvalue_args`]]
[def __unfused_typed__ [link fusion.functional.adapters.unfused_typed `unfused_typed`]]
[def __invoke__ [link fusion.functional.invocation.functions.invoke `invoke`]]
[def __invoke_procedure__ [link fusion.functional.invocation.functions.invoke_proc `invoke_procedure`]]
@ -301,14 +274,18 @@
[def __make_fused__ [link fusion.functional.generation.functions.mk_fused `make_fused`]]
[def __make_fused_procedure__ [link fusion.functional.generation.functions.mk_fused_proc `make_fused_procedure`]]
[def __make_fused_function_object__ [link fusion.functional.generation.functions.mk_fused_fobj `make_fused_function_object`]]
[def __make_unfused__ [link fusion.functional.generation.functions.mk_unfused `make_unfused`]]
[def __make_unfused_generic__ [link fusion.functional.generation.functions.mk_unfused_genrc `make_unfused_generic`]]
[def __make_unfused_rvalue_args__ [link fusion.functional.generation.functions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
[def __make_unfused_lvalue_args__ [link fusion.functional.generation.functions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
[def __result_of_invoke__ [link fusion.functional.invocation.metafunctions.invoke `result_of::invoke`]]
[def __result_of_invoke_procedure__ [link fusion.functional.invocation.metafunctions.invoke_proc `result_of::invoke_procedure`]]
[def __result_of_invoke_function_object__ [link fusion.functional.invocation.metafunctions.invoke_fobj `result_of::invoke_function_object`]]
[def __result_of_make_fused__ [link fusion.functional.generation.metafunctions.mk_fused `make_fused`]]
[def __result_of_make_fused_procedure__ [link fusion.functional.generation.metafunctions.mk_fused_proc `make_fused_procedure`]]
[def __result_of_make_fused_function_object__ [link fusion.functional.generation.metafunctions.mk_fused_fobj `make_fused_function_object`]]
[def __result_of_make_unfused__ [link fusion.functional.generation.metafunctions.mk_unfused `make_unfused`]]
[def __result_of_make_unfused_generic__ [link fusion.functional.generation.metafunctions.mk_unfused_genrc `make_unfused_generic`]]
[def __result_of_make_unfused_rvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_rvargs `make_unfused_rvalue_args`]]
[def __result_of_make_unfused_lvalue_args__ [link fusion.functional.generation.metafunctions.mk_unfused_lvargs `make_unfused_lvalue_args`]]
[def __recursive_inline__ [link fusion.notes.recursive_inlined_functions Recursive Inlined Functions]]
[def __overloaded_functions__ [link fusion.notes.overloaded_functions Overloaded Functions]]
@ -318,12 +295,10 @@
[def __note_boost_ref__ [link fusion.notes.boost__ref `boost::ref`]]
[def __quick_start__ [link fusion.quick_start Quick Start]]
[def __organization__ [link fusion.organization Organization]]
[def __organization__ [link fusion.organization Orgainization]]
[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`]]
[def __adt_attribute_proxy__ [link fusion.notes.adt_attribute_proxy `adt_attribute_proxy`]]
[def __sequence_facade__ [link fusion.extension.sequence_facade `sequence_facade`]]
[def __iterator_facade__ [link fusion.extension.iterator_facade `iterator_facade`]]
[include preface.qbk]
[include introduction.qbk]

View File

@ -1,31 +1,30 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<EFBFBD>1.<2E>Fusion 2.0">
<link rel="prev" href="change_log.html" title="Change log">
<link rel="next" href="references.html" title="References">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="change_log.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="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.acknowledgements"></a><a class="link" href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a>
</h2></div></div></div>
<a name="fusion.acknowledgements"></a><a href="acknowledgements.html" title="Acknowledgements">Acknowledgements</a></h2></div></div></div>
<p>
Special thanks to David Abrahams, Douglas Gregor, Hartmut Kaiser, Aleksey Gurtovoy,
Peder Holt, Daniel Wallin, Jaakko Jarvi, Jeremiah Willcock, Dan Marsden, Eric
@ -43,7 +42,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -52,7 +51,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="change_log.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="references.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="change_log.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="references.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,93 +1,73 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Adapted</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="prev" href="view/repetitive_view.html" title="repetitive_view">
<link rel="next" href="adapted/array.html" title="Array">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<EFBFBD>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.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.adapted"></a><a class="link" href="adapted.html" title="Adapted">Adapted</a>
</h2></div></div></div>
<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/array.html"> Array</a></span></dt>
<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_tpl_struct.html"> BOOST_FUSION_ADAPT_TPL_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_struct_named.html"> BOOST_FUSION_ADAPT_STRUCT_NAMED</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc.html"> BOOST_FUSION_ADAPT_ASSOC_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc_tpl_struct.html"> BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc_struct_named.html"> BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_adt.html"> BOOST_FUSION_ADAPT_ADT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_tpl_adt.html"> BOOST_FUSION_ADAPT_TPL_ADT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc_adt.html"> BOOST_FUSION_ADAPT_ASSOC_ADT</a></span></dt>
<dt><span class="section"><a href="adapted/adapt_assoc_tpl_adt.html"> BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a></span></dt>
<dt><span class="section"><a href="adapted/define_struct.html"> BOOST_FUSION_DEFINE_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/define_tpl_struct.html"> BOOST_FUSION_DEFINE_TPL_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/define_assoc_struct.html"> BOOST_FUSION_DEFINE_ASSOC_STRUCT</a></span></dt>
<dt><span class="section"><a href="adapted/define_assoc_tpl_struct.html"> BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a></span></dt>
</dl></div>
<p>
Fusion provides a couple of adapters for other sequences such as arrays, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>,
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 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>. These adapters are written using Fusion's
non-intrusive <a class="link" href="extension.html" title="Extension">Extension</a> mechanism.
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.
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><h4>
<a name="id953794"></a>
<a class="link" href="adapted.html#fusion.adapted.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">hpp</span><span class="special">&gt;</span>
<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>
<p>
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 class="link" 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. To make Fusion sequences fully conforming <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
sequences, include:
</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">mpl</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
If you want bi-directional adaptation to and from <a href="http://www.boost.org/libs/mpl/index.html" target="_top">MPL</a>
and Fusion, simply include:
</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">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>
<p>
The header includes all the necessary headers.
</p>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -96,7 +76,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="view/repetitive_view.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapted/array.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<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,165 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ADT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">
<link rel="next" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_adt"></a><a class="link" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT"> BOOST_FUSION_ADAPT_ADT</a>
</h3></div></div></div>
<p>
BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary
boilerplate to adapt an arbitrary class type as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.adapt_adt.synopsis"></a><h5>
<a name="id966699"></a>
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span>
<span class="identifier">type_name</span><span class="special">,</span>
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span>
<span class="special">...</span>
<span class="special">)</span>
</pre>
<a name="fusion.adapted.adapt_adt.expression_semantics"></a><h5>
<a name="id966817"></a>
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types,
const types, get-expressions and set-expressions of the elements that are
part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code>
is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element
of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>.
This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&amp;</span></code> which represents the underlying instance
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>,
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
which represents the right operand of the assignment expression.
</p>
<p>
The actual return type of fusion's intrinsic sequence access (meta-)functions
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
is a proxy type. This type is implicitly convertible to the attribute type
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
and reference removed.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
should be the fully namespace qualified name of the class type to be adapted.
</p>
<a name="fusion.adapted.adapt_adt.header"></a><h5>
<a name="id967105"></a>
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.header">Header</a>
</h5>
<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">adt</span><span class="special">/</span><span class="identifier">adapt_adt</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_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_adt.example"></a><h5>
<a name="id967220"></a>
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.example">Example</a>
</h5>
<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="keyword">private</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="keyword">public</span><span class="special">:</span>
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</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">n</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="special">}</span>
<span class="keyword">void</span> <span class="identifier">set_age</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">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
<span class="special">}</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">get_name</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">}</span>
<span class="identifier">BOOST_FUSION_ADAPT_ADT</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="special">(</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="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span>
<span class="special">(</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span>
<span class="identifier">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
<span class="identifier">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
<span class="comment">//Prints 'Edward Norton is 41 years old'
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" years old"</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.adapt_adt.see_also"></a><h5>
<a name="id967865"></a>
<a class="link" href="adapt_adt.html#fusion.adapted.adapt_adt.see_also">See also</a>
</h5>
<p>
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></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 &#169; 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_assoc_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,82 +1,88 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">
<link rel="next" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc"></a><a class="link" 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><h5>
<a name="id961292"></a>
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.description">Description</a>
</h5>
<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 a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
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><h5>
<a name="id961318"></a>
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.synopsis">Synopsis</a>
</h5>
<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>
<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><h5>
<a name="id961419"></a>
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.semantics">Semantics</a>
</h5>
<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 <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence of <code class="computeroutput"><span class="special">(</span><span class="identifier">member_typeN</span><span class="special">,</span>
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></code>
triples declares the type, name and key type of each of the struct members
that are part of the sequence.
<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 <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be adapted.
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><h5>
<a name="id961496"></a>
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.header">Header</a>
</h5>
<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>
<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><h5>
<a name="id961611"></a>
<a class="link" href="adapt_assoc.html#fusion.adapted.adapt_assoc.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
<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>
@ -91,18 +97,18 @@
<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 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">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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -111,7 +117,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,175 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ASSOC_ADT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT">
<link rel="next" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc_adt"></a><a class="link" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT"> BOOST_FUSION_ADAPT_ASSOC_ADT</a>
</h3></div></div></div>
<p>
BOOST_FUSION_ADAPT_ASSOC_ADT is a macro than can be used to generate all
the necessary boilerplate to adapt an arbitrary class type as a model of
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access
Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.adapt_assoc_adt.synopsis"></a><h5>
<a name="id969351"></a>
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</span><span class="special">(</span>
<span class="identifier">type_name</span><span class="special">,</span>
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</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_adt.expression_semantics"></a><h5>
<a name="id969485"></a>
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code>
5-tuples declares the types, const types, get-expressions, set-expressions
and key types of the elements that are part of the adapted fusion sequence.
<code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&amp;</span></code> which represents the underlying instance
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>,
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
which represents the right operand of the assignment expression.
</p>
<p>
The actual return type of fusion's intrinsic sequence access (meta-)functions
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
is a proxy type. This type is implicitly convertible to the attribute type
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
and reference removed.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
should be the fully namespace qualified name of the class type to be adapted.
</p>
<a name="fusion.adapted.adapt_assoc_adt.header"></a><h5>
<a name="id970908"></a>
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.header">Header</a>
</h5>
<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">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</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_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_assoc_adt.example"></a><h5>
<a name="id971023"></a>
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.example">Example</a>
</h5>
<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="keyword">private</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="keyword">public</span><span class="special">:</span>
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</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">n</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="special">}</span>
<span class="keyword">void</span> <span class="identifier">set_age</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">age</span><span class="special">=</span><span class="identifier">a</span><span class="special">;</span>
<span class="special">}</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">get_name</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">int</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</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="identifier">BOOST_FUSION_ADAPT_ASSOC_ADT</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="special">(</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="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</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="keyword">int</span><span class="special">,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span> <span class="identifier">e</span><span class="special">;</span>
<span class="identifier">at_key</span><span class="special">&lt;</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
<span class="identifier">at_key</span><span class="special">&lt;</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">&gt;(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
<span class="comment">//Prints 'Edward Norton is 41 years old'
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" years old"</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.adapt_assoc_adt.see_also"></a><h5>
<a name="id971773"></a>
<a class="link" href="adapt_assoc_adt.html#fusion.adapted.adapt_assoc_adt.see_also">See also</a>
</h5>
<p>
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></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 &#169; 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_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,133 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT">
<link rel="next" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc_struct_named"></a><a class="link" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED"> BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</a>
</h3></div></div></div>
<a name="fusion.adapted.adapt_assoc_struct_named.description"></a><h5>
<a name="id965889"></a>
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.description">Description</a>
</h5>
<p>
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED and BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS
are macros that can be used to generate all the necessary boilerplate to
make an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The given struct is adapted using the given name.
</p>
<a name="fusion.adapted.adapt_assoc_struct_named.synopsis"></a><h5>
<a name="id965917"></a>
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</span><span class="special">(</span>
<span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</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>
<span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS</span><span class="special">(</span>
<span class="identifier">struct_name</span><span class="special">,</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">adapted_name</span><span class="special">,</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_struct_named.semantics"></a><h5>
<a name="id966138"></a>
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.semantics">Semantics</a>
</h5>
<p>
The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code>
as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>.
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code>
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">adapted_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the adapted
view is placed in the global namespace. If no namespace sequence is given
(i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_ASSOC_NAMED</span></code>),
the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>.
The sequence of <code 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></code> triples declares the type, name and key
type of each of the struct members that are part of the sequence.
</p>
<p>
The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be converted.
</p>
<a name="fusion.adapted.adapt_assoc_struct_named.header"></a><h5>
<a name="id966312"></a>
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.header">Header</a>
</h5>
<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_named</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_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_assoc_struct_named.example"></a><h5>
<a name="id966427"></a>
<a class="link" href="adapt_assoc_struct_named.html#fusion.adapted.adapt_assoc_struct_named.example">Example</a>
</h5>
<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">// boost::fusion::adapted::adapted_employee is now a Fusion sequence
</span><span class="comment">// referring to demo::employee
</span><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED</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">adapted_employee</span><span class="special">,</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 &#169; 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_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,183 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">
<link rel="next" href="define_struct.html" title="BOOST_FUSION_DEFINE_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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc_tpl_adt"></a><a class="link" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT"> BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</a>
</h3></div></div></div>
<p>
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT is a macro than can be used to generate
all the necessary boilerplate to adapt an arbitrary template class type as
a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.adapt_assoc_tpl_adt.synopsis"></a><h5>
<a name="id971824"></a>
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">,</span> <span class="identifier">key_type0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</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_tpl_adt.expression_semantics"></a><h5>
<a name="id972000"></a>
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
set_expr<span class="emphasis"><em>N</em></span>, key_type<span class="emphasis"><em>N</em></span>)</code>
5-tuples declares the types, const types, get-expressions, set-expressions
and key types of the elements that are part of the adapted fusion sequence.
<code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to get the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&amp;</span></code> which represents the underlying instance
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>,
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
which represents the right operand of the assignment expression.
</p>
<p>
The actual return type of fusion's intrinsic sequence access (meta-)functions
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
is a proxy type. This type is implicitly convertible to the attribute type
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../iterator/metafunctions/value_of_data.html" title="value_of_data"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of_data</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_key.html" title="value_at_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_key</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
and reference removed.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
should be the fully namespace qualified name of the template class type to
be adapted.
</p>
<a name="fusion.adapted.adapt_assoc_tpl_adt.header"></a><h5>
<a name="id972389"></a>
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.header">Header</a>
</h5>
<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">adt</span><span class="special">/</span><span class="identifier">adapt_assoc_adt</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_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_assoc_tpl_adt.example"></a><h5>
<a name="id972504"></a>
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="keyword">private</span><span class="special">:</span>
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">n</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="special">}</span>
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">)</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="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</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="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_ADT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
<span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</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="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">),</span> <span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">))</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">e</span><span class="special">;</span>
<span class="identifier">at_key</span><span class="special">&lt;</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">name</span><span class="special">&gt;(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</span><span class="special">;</span>
<span class="identifier">at_key</span><span class="special">&lt;</span><span class="identifier">keys</span><span class="special">::</span><span class="identifier">age</span><span class="special">&gt;(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
<span class="comment">//Prints 'Edward Norton is 41 years old'
</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" years old"</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.adapt_assoc_tpl_adt.see_also"></a><h5>
<a name="id974166"></a>
<a class="link" href="adapt_assoc_tpl_adt.html#fusion.adapted.adapt_assoc_tpl_adt.see_also">See also</a>
</h5>
<p>
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></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 &#169; 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_assoc_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,125 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_assoc.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT">
<link rel="next" href="adapt_assoc_struct_named.html" title="BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_assoc_tpl_struct"></a><a class="link" href="adapt_assoc_tpl_struct.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT"> BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.adapt_assoc_tpl_struct.description"></a><h5>
<a name="id961870"></a>
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.description">Description</a>
</h5>
<p>
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT is a macro that can be used to generate
all the necessary boilerplate to make an arbitrary template struct a model
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.adapt_assoc_tpl_struct.synopsis"></a><h5>
<a name="id965174"></a>
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</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_tpl_struct.semantics"></a><h5>
<a name="id965317"></a>
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.semantics">Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
that is adapted as a fusion sequence. The sequence of <code 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></code>
triples declares the type, name and key type of each of the struct members
that are part of the sequence.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be adapted.
</p>
<a name="fusion.adapted.adapt_assoc_tpl_struct.header"></a><h5>
<a name="id965453"></a>
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.header">Header</a>
</h5>
<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_tpl_struct.example"></a><h5>
<a name="id965568"></a>
<a class="link" href="adapt_assoc_tpl_struct.html#fusion.adapted.adapt_assoc_tpl_struct.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
<span class="identifier">Age</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">// Any instantiated 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_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
<span class="special">(</span><span class="identifier">Name</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="identifier">Age</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 &#169; 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_assoc.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,79 +1,83 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>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_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_struct"></a><a class="link" 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><h5>
<a name="id958443"></a>
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.description">Description</a>
</h5>
<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 a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
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><h5>
<a name="id958465"></a>
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.synopsis">Synopsis</a>
</h5>
<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>
<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><h5>
<a name="id958549"></a>
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.semantics">Semantics</a>
</h5>
<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 <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence of <code 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></code>
pairs declares the type and names of each of the struct members that are
part of the sequence.
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 <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be adapted.
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><h5>
<a name="id959705"></a>
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.header">Header</a>
</h5>
<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>
<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><h5>
<a name="id959821"></a>
<a class="link" href="adapt_struct.html#fusion.adapted.adapt_struct.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
<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>
@ -84,14 +88,14 @@
<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">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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -100,7 +104,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__tuple.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,125 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_STRUCT_NAMED</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT">
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_struct_named"></a><a class="link" href="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED"> BOOST_FUSION_ADAPT_STRUCT_NAMED</a>
</h3></div></div></div>
<a name="fusion.adapted.adapt_struct_named.description"></a><h5>
<a name="id960619"></a>
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.description">Description</a>
</h5>
<p>
BOOST_FUSION_ADAPT_STRUCT_NAMED and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS are
macros that can be used to generate all the necessary boilerplate to make
an arbitrary struct a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The given struct is adapted using the given name.
</p>
<a name="fusion.adapted.adapt_struct_named.synopsis"></a><h5>
<a name="id960641"></a>
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span><span class="special">(</span>
<span class="identifier">struct_name</span><span class="special">,</span> <span class="identifier">adapted_name</span><span class="special">,</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>
<span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED_NS</span><span class="special">(</span>
<span class="identifier">struct_name</span><span class="special">,</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">adapted_name</span><span class="special">,</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_named.semantics"></a><h5>
<a name="id960829"></a>
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.semantics">Semantics</a>
</h5>
<p>
The above macros generate the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> while using <code class="computeroutput"><span class="identifier">adapted_name</span></code>
as the name of the adapted struct. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
declares the namespace for <code class="computeroutput"><span class="identifier">adapted_name</span></code>.
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">adapted_name</span></code>
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">adapted_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the adapted
view is placed in the global namespace. If no namespace sequence is given
(i.e. <code class="computeroutput"><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</span></code>),
the adapted view is placed in the namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">adapted</span></code>.
The sequence of <code 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></code> pairs declares the type and names of each
of the struct members that are part of the sequence.
</p>
<p>
The macros should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be converted.
</p>
<a name="fusion.adapted.adapt_struct_named.header"></a><h5>
<a name="id960989"></a>
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.header">Header</a>
</h5>
<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_named</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_named</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_struct_named.example"></a><h5>
<a name="id961105"></a>
<a class="link" href="adapt_struct_named.html#fusion.adapted.adapt_struct_named.example">Example</a>
</h5>
<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">// boost::fusion::adapted::adapted_employee is now a Fusion sequence
</span><span class="comment">// referring to demo::employee
</span><span class="identifier">BOOST_FUSION_ADAPT_STRUCT_NAMED</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">adapted_employee</span><span class="special">,</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 &#169; 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_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,174 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_ADAPT_TPL_ADT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_adt.html" title="BOOST_FUSION_ADAPT_ADT">
<link rel="next" href="adapt_assoc_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_ADT">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_tpl_adt"></a><a class="link" href="adapt_tpl_adt.html" title="BOOST_FUSION_ADAPT_TPL_ADT"> BOOST_FUSION_ADAPT_TPL_ADT</a>
</h3></div></div></div>
<p>
BOOST_FUSION_ADAPT_TPL_ADT is a macro than can be used to generate all the
necessary boilerplate to adapt an arbitrary template class type as a model
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.adapt_tpl_adt.synopsis"></a><h5>
<a name="id967911"></a>
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_ADT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">type_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">attribute_type0</span><span class="special">,</span> <span class="identifier">attribute_const_type0</span><span class="special">,</span> <span class="identifier">get_expr0</span><span class="special">,</span> <span class="identifier">set_expr0</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">attribute_type1</span><span class="special">,</span> <span class="identifier">attribute_const_type1</span><span class="special">,</span> <span class="identifier">get_expr1</span><span class="special">,</span> <span class="identifier">set_expr1</span><span class="special">)</span>
<span class="special">...</span>
<span class="special">)</span>
</pre>
<a name="fusion.adapted.adapt_tpl_adt.expression_semantics"></a><h5>
<a name="id968070"></a>
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">type_name</span></code>
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
actual specialization of <code class="computeroutput"><span class="identifier">type_name</span></code>
that is adapted as a fusion sequence. The sequence of <code class="literal">(attribute_type<span class="emphasis"><em>N</em></span>,
attribute_const_type<span class="emphasis"><em>N</em></span>, get_expr<span class="emphasis"><em>N</em></span>,
set_expr<span class="emphasis"><em>N</em></span>)</code> quadruples declares the types,
const types, get-expressions and set-expressions of the elements that are
part of the adapted fusion sequence. <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code>
is the expression that is invoked to get the <span class="emphasis"><em>N</em></span>th element
of an instance of <code class="computeroutput"><span class="identifier">type_name</span></code>.
This expression may access a variable named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>
or <code class="computeroutput"><span class="identifier">type_name</span> <span class="keyword">const</span><span class="special">&amp;</span></code> which represents the underlying instance
of <code class="computeroutput"><span class="identifier">type_name</span></code>. <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code>
and <code class="literal">attribute_const_type<span class="emphasis"><em>N</em></span></code> may specify
the types that <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> denotes
to. <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code> is the expression that
is invoked to set the <span class="emphasis"><em>N</em></span>th element of an instance of
<code class="computeroutput"><span class="identifier">type_name</span></code>. This expression
may access variables named <code class="computeroutput"><span class="identifier">obj</span></code>
of type <code class="computeroutput"><span class="identifier">type_name</span><span class="special">&amp;</span></code>,
which represent the corresponding instance of <code class="computeroutput"><span class="identifier">type_name</span></code>,
and <code class="computeroutput"><span class="identifier">val</span></code> of an arbitrary const-qualified
reference template type parameter <code class="computeroutput"><span class="identifier">Val</span></code>,
which represents the right operand of the assignment expression.
</p>
<p>
The actual return type of fusion's intrinsic sequence access (meta-)functions
when in invoked with (an instance of) <code class="computeroutput"><span class="identifier">type_name</span></code>
is a proxy type. This type is implicitly convertible to the attribute type
via <code class="literal">get_expr<span class="emphasis"><em>N</em></span></code> and forwards assignment
to the underlying element via <code class="literal">set_expr<span class="emphasis"><em>N</em></span></code>.
The value type (that is the type returned by <a class="link" href="../iterator/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_of</span></code></a>, <a class="link" href="../sequence/intrinsic/metafunctions/value_at.html" title="value_at"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at</span></code></a> and <a class="link" href="../sequence/intrinsic/metafunctions/value_at_c.html" title="value_at_c"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">value_at_c</span></code></a>) of the <span class="emphasis"><em>N</em></span>th
element is <code class="literal">attribute_type<span class="emphasis"><em>N</em></span></code> with const-qualifier
and reference removed.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">type_name</span></code>
should be the fully namespace qualified name of the template class type to
be adapted.
</p>
<a name="fusion.adapted.adapt_tpl_adt.header"></a><h5>
<a name="id968417"></a>
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.header">Header</a>
</h5>
<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">adt</span><span class="special">/</span><span class="identifier">adapt_adt</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_adt</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.adapt_tpl_adt.example"></a><h5>
<a name="id968532"></a>
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.example">Example</a>
</h5>
<pre class="programlisting"> <span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="keyword">private</span><span class="special">:</span>
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="keyword">void</span> <span class="identifier">set_name</span><span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">n</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="special">}</span>
<span class="keyword">void</span> <span class="identifier">set_age</span><span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">)</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="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">get_name</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">name</span><span class="special">;</span>
<span class="special">}</span>
<span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">get_age</span><span class="special">()</span><span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">}</span>
<span class="identifier">BOOST_FUSION_ADAPT_TPL_ADT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
<span class="special">(</span><span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">Name</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_name</span><span class="special">(</span><span class="identifier">val</span><span class="special">))</span>
<span class="special">(</span><span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">Age</span> <span class="keyword">const</span><span class="special">&amp;,</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">(),</span> <span class="identifier">obj</span><span class="special">.</span><span class="identifier">set_age</span><span class="special">(</span><span class="identifier">val</span><span class="special">)))</span>
<span class="identifier">demo</span><span class="special">::</span><span class="identifier">employee</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">,</span> <span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">e</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">front</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="string">"Edward Norton"</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">back</span><span class="special">(</span><span class="identifier">e</span><span class="special">)=</span><span class="number">41</span><span class="special">;</span>
<span class="comment">//Prints 'Edward Norton is 41 years old'
</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_name</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" is "</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">get_age</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="string">" years old"</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.adapt_tpl_adt.see_also"></a><h5>
<a name="id969300"></a>
<a class="link" href="adapt_tpl_adt.html#fusion.adapted.adapt_tpl_adt.see_also">See also</a>
</h5>
<p>
<a class="link" href="../notes.html#fusion.notes.adt_attribute_proxy"><code class="computeroutput"><span class="identifier">adt_attribute_proxy</span></code></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 &#169; 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_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_assoc_adt.html"><img src="../../../../../../doc/src/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=US-ASCII">
<title>BOOST_FUSION_ADAPT_TPL_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;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="adapt_struct_named.html" title="BOOST_FUSION_ADAPT_STRUCT_NAMED">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.adapt_tpl_struct"></a><a class="link" href="adapt_tpl_struct.html" title="BOOST_FUSION_ADAPT_TPL_STRUCT"> BOOST_FUSION_ADAPT_TPL_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.adapt_tpl_struct.description"></a><h5>
<a name="id959996"></a>
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.description">Description</a>
</h5>
<p>
BOOST_FUSION_ADAPT_TPL_STRUCT is a macro that can be used to generate all
the necessary boilerplate to make an arbitrary template struct a model of
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random Access
Sequence</a>.
</p>
<a name="fusion.adapted.adapt_tpl_struct.synopsis"></a><h5>
<a name="id960017"></a>
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">struct_name</span><span class="special">)</span> <span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...,</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_tpl_struct.semantics"></a><h5>
<a name="id960143"></a>
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.semantics">Semantics</a>
</h5>
<p>
The above macro generates the necessary code to adapt <code class="computeroutput"><span class="identifier">struct_name</span></code>
or an arbitrary specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">specialization_param0</span><span class="special">)(</span><span class="identifier">specialization_param1</span><span class="special">)...</span></code> declares the template parameters of the
actual specialization of <code class="computeroutput"><span class="identifier">struct_name</span></code>
that is adapted as a fusion sequence. The sequence of <code 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></code>
pairs declares the type and names of each of the struct members that are
part of the sequence.
</p>
<p>
The macro should be used at global scope, and <code class="computeroutput"><span class="identifier">struct_name</span></code>
should be the fully namespace qualified name of the struct to be adapted.
</p>
<a name="fusion.adapted.adapt_tpl_struct.header"></a><h5>
<a name="id960266"></a>
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.header">Header</a>
</h5>
<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_tpl_struct.example"></a><h5>
<a name="id960381"></a>
<a class="link" href="adapt_tpl_struct.html#fusion.adapted.adapt_tpl_struct.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">demo</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Name</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Age</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">employee</span>
<span class="special">{</span>
<span class="identifier">Name</span> <span class="identifier">name</span><span class="special">;</span>
<span class="identifier">Age</span> <span class="identifier">age</span><span class="special">;</span>
<span class="special">};</span>
<span class="special">}</span>
<span class="comment">// Any instantiated demo::employee is now a Fusion sequence
</span><span class="identifier">BOOST_FUSION_ADAPT_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">Age</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 &#169; 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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct_named.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,74 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Array</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="../adapted.html" title="Adapted">
<link rel="next" href="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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.array"></a><a class="link" href="array.html" title="Array"> Array</a>
</h3></div></div></div>
<p>
This module provides adapters for arrays. Including the module header makes
any array a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.array.header"></a><h5>
<a name="id954043"></a>
<a class="link" href="array.html#fusion.adapted.array.header">Header</a>
</h5>
<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.array.model_of"></a><h5>
<a name="id954151"></a>
<a class="link" href="array.html#fusion.adapted.array.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a></li></ul></div>
<a name="fusion.adapted.array.example"></a><h5>
<a name="id954176"></a>
<a class="link" href="array.html#fusion.adapted.array.example">Example</a>
</h5>
<pre class="programlisting"><span class="keyword">int</span> <span class="identifier">arr</span><span class="special">[</span><span class="number">3</span><span class="special">]</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 class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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>
</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 &#169; 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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="std__pair.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::array</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>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">
@ -12,62 +12,65 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__array"></a><a class="link" href="boost__array.html" title="boost::array">boost::array</a>
</h3></div></div></div>
<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 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>.
Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span></code>
a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
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><h5>
<a name="id957411"></a>
<a class="link" href="boost__array.html#fusion.adapted.boost__array.header">Header</a>
</h5>
<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_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">boost_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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><h5>
<a name="id957519"></a>
<a class="link" href="boost__array.html#fusion.adapted.boost__array.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
<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><h5>
<a name="id957545"></a>
<a class="link" href="boost__array.html#fusion.adapted.boost__array.example">Example</a>
</h5>
<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>
<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 class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/advance_c.html" title="advance_c"><code class="computeroutput"><span class="identifier">advance_c</span></code></a><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;(</span><a class="link" href="../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../iterator/functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><a class="link" href="../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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>
<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><h5>
<a name="id957980"></a>
<a class="link" href="boost__array.html#fusion.adapted.boost__array.see_also">See also</a>
</h5>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -76,7 +79,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__tuple.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,61 +1,64 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>boost::tuple</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>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">
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.boost__tuple"></a><a class="link" href="boost__tuple.html" title="boost::tuple">boost::tuple</a>
</h3></div></div></div>
<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 <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>.
Including the module header makes <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>
a fully conforming <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
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><h5>
<a name="id958050"></a>
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.header">Header</a>
</h5>
<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>
<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><h5>
<a name="id958158"></a>
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a></li></ul></div>
<a name="fusion.adapted.boost__tuple.example"></a><h5>
<a name="id958183"></a>
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.example">Example</a>
</h5>
<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>
<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><h5>
<a name="id958410"></a>
<a class="link" href="boost__tuple.html#fusion.adapted.boost__tuple.see_also">See also</a>
</h5>
<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>
@ -63,7 +66,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -72,7 +75,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost__array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="adapt_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,222 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_DEFINE_ASSOC_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT">
<link rel="next" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.define_assoc_struct"></a><a class="link" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_STRUCT"> BOOST_FUSION_DEFINE_ASSOC_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.define_assoc_struct.description"></a><h5>
<a name="id978131"></a>
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.description">Description</a>
</h5>
<p>
BOOST_FUSION_DEFINE_ASSOC_STRUCT is a macro that can be used to generate
all the necessary boilerplate to define and adapt an arbitrary struct as
a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.define_assoc_struct.synopsis"></a><h5>
<a name="id978157"></a>
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">struct_name</span><span class="special">,</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>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
<dd><p>
An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
<dd><p>
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.adapted.define_assoc_struct.expression_semantics"></a><h5>
<a name="id978361"></a>
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>.
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code>
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">struct_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the struct is
placed in the global namespace. The sequence of <code 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></code>
triples declares the type, name and key type of each of the struct members
that are part of the sequence.
</p>
<p>
The macro should be used at global scope. Semantics of an expression is defined
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" 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>
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">struct_name</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></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
<span class="identifier">fs</span></code>
</p>
</td>
<td>
<p>
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
</p>
</td>
<td>
<p>
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.adapted.define_assoc_struct.header"></a><h5>
<a name="id978785"></a>
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.header">Header</a>
</h5>
<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">define_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">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.define_assoc_struct.example"></a><h5>
<a name="id978900"></a>
<a class="link" href="define_assoc_struct.html#fusion.adapted.define_assoc_struct.example">Example</a>
</h5>
<pre class="programlisting"><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 a Fusion sequence
</span><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_STRUCT</span><span class="special">(</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="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 &#169; 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="define_tpl_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,227 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.define_assoc_tpl_struct"></a><a class="link" href="define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT"> BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.define_assoc_tpl_struct.description"></a><h5>
<a name="id979085"></a>
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.description">Description</a>
</h5>
<p>
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT is a macro that can be used to generate
all the necessary boilerplate to define and adapt an arbitrary template struct
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>.
</p>
<a name="fusion.adapted.define_assoc_tpl_struct.synopsis"></a><h5>
<a name="id979111"></a>
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">struct_name</span><span class="special">,</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>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt>
<dd><p>
An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
<dd><p>
An instance of <code class="computeroutput"><span class="identifier">Str</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
<dd><p>
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.adapted.define_assoc_tpl_struct.expression_semantics"></a><h5>
<a name="id979363"></a>
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" href="../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified
name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of
<code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">struct_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the struct is
placed in the global namespace. The sequence of <code 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></code>
triples declares the type, name and key type of each of the struct members
that are part of the sequence.
</p>
<p>
The macro should be used at global scope. Semantics of an expression is defined
only where it differs from, or is not defined in <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> and <a class="link" 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>
<code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Str</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></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
<span class="identifier">fs</span></code>
</p>
</td>
<td>
<p>
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
</p>
</td>
<td>
<p>
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.adapted.define_assoc_tpl_struct.header"></a><h5>
<a name="id979811"></a>
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.header">Header</a>
</h5>
<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">define_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">define_assoc_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.define_assoc_tpl_struct.example"></a><h5>
<a name="id979926"></a>
<a class="link" href="define_assoc_tpl_struct.html#fusion.adapted.define_assoc_tpl_struct.example">Example</a>
</h5>
<pre class="programlisting"><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">// Any instantiated demo::employee is a Fusion sequence
</span><span class="identifier">BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</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="identifier">Age</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 &#169; 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="define_assoc_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,208 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_DEFINE_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="adapt_assoc_tpl_adt.html" title="BOOST_FUSION_ADAPT_ASSOC_TPL_ADT">
<link rel="next" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.define_struct"></a><a class="link" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT"> BOOST_FUSION_DEFINE_STRUCT</a>
</h3></div></div></div>
<p>
BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the
necessary boilerplate to define and adapt an arbitrary struct as a model
of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.define_struct.synopsis"></a><h5>
<a name="id974212"></a>
<a class="link" href="define_struct.html#fusion.adapted.define_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">struct_name</span><span class="special">,</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>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
<dd><p>
An instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
<dd><p>
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.adapted.define_struct.expression_semantics"></a><h5>
<a name="id974399"></a>
<a class="link" href="define_struct.html#fusion.adapted.define_struct.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code>
declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>.
It yields to a fully qualified name for <code class="computeroutput"><span class="identifier">struct_name</span></code>
of <code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">struct_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the struct is
placed in the global namespace. The sequence of <code 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></code>
pairs declares the type and names of each of the struct members that are
part of the sequence.
</p>
<p>
The macro should be used at global scope. Semantics of an expression is defined
only where it differs from, or is not defined in <a class="link" 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>
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">struct_name</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></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">struct_name</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Copy constructs an instance of <code class="computeroutput"><span class="identifier">struct_name</span></code>
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
<span class="identifier">fs</span></code>
</p>
</td>
<td>
<p>
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
</p>
</td>
<td>
<p>
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.adapted.define_struct.header"></a><h5>
<a name="id974804"></a>
<a class="link" href="define_struct.html#fusion.adapted.define_struct.header">Header</a>
</h5>
<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">define_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">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.define_struct.example"></a><h5>
<a name="id974920"></a>
<a class="link" href="define_struct.html#fusion.adapted.define_struct.example">Example</a>
</h5>
<pre class="programlisting"><span class="comment">// demo::employee is a Fusion sequence
</span><span class="identifier">BOOST_FUSION_DEFINE_STRUCT</span><span class="special">(</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="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 &#169; 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_assoc_tpl_adt.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_tpl_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,217 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>BOOST_FUSION_DEFINE_TPL_STRUCT</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="define_struct.html" title="BOOST_FUSION_DEFINE_STRUCT">
<link rel="next" href="define_assoc_struct.html" title="BOOST_FUSION_DEFINE_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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.define_tpl_struct"></a><a class="link" href="define_tpl_struct.html" title="BOOST_FUSION_DEFINE_TPL_STRUCT"> BOOST_FUSION_DEFINE_TPL_STRUCT</a>
</h3></div></div></div>
<a name="fusion.adapted.define_tpl_struct.description"></a><h5>
<a name="id975028"></a>
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.description">Description</a>
</h5>
<p>
BOOST_FUSION_DEFINE_TPL_STRUCT is a macro that can be used to generate all
the necessary boilerplate to define and adapt an arbitrary template struct
as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</p>
<a name="fusion.adapted.define_tpl_struct.synopsis"></a><h5>
<a name="id975049"></a>
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.synopsis">Synopsis</a>
</h5>
<pre class="programlisting"><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...,</span>
<span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...,</span>
<span class="identifier">struct_name</span><span class="special">,</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>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">Str</span></code></span></dt>
<dd><p>
An instantiated <code class="computeroutput"><span class="identifier">struct_name</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">str</span></code></span></dt>
<dd><p>
An instance of <code class="computeroutput"><span class="identifier">Str</span></code>
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code></span></dt>
<dd><p>
Heterogeneous values
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">fs</span></code></span></dt>
<dd><p>
A <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p></dd>
</dl>
</div>
<a name="fusion.adapted.define_tpl_struct.expression_semantics"></a><h5>
<a name="id975282"></a>
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.expression_semantics">Expression
Semantics</a>
</h5>
<p>
The above macro generates the necessary code that defines and adapts <code class="computeroutput"><span class="identifier">struct_name</span></code> as a model of <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">template_param0</span><span class="special">)(</span><span class="identifier">template_param1</span><span class="special">)...</span></code>
declares the names of the template type parameters used. The sequence <code class="computeroutput"><span class="special">(</span><span class="identifier">namespace0</span><span class="special">)(</span><span class="identifier">namespace1</span><span class="special">)...</span></code> declares the namespace for <code class="computeroutput"><span class="identifier">struct_name</span></code>. It yields to a fully qualified
name for <code class="computeroutput"><span class="identifier">struct_name</span></code> of
<code class="computeroutput"><span class="identifier">namespace0</span><span class="special">::</span><span class="identifier">namespace1</span><span class="special">::...</span>
<span class="identifier">struct_name</span></code>. If an empty namespace
sequence is given (that is a macro that expands to nothing), the struct is
placed in the global namespace. The sequence of <code 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></code>
pairs declares the type and names of each of the struct members that are
part of the sequence.
</p>
<p>
The macro should be used at global scope. Semantics of an expression is defined
only where it differs from, or is not defined in <a class="link" 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>
<code class="computeroutput"><span class="identifier">Str</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
with default constructed elements.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Str</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></code>
</p>
</td>
<td>
<p>
Creates an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
with elements <code class="computeroutput"><span class="identifier">e0</span></code>...<code class="computeroutput"><span class="identifier">en</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Str</span><span class="special">(</span><span class="identifier">fs</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Copy constructs an instance of <code class="computeroutput"><span class="identifier">Str</span></code>
from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span> <span class="special">=</span>
<span class="identifier">fs</span></code>
</p>
</td>
<td>
<p>
Assigns from a <a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> <code class="computeroutput"><span class="identifier">fs</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">str</span><span class="special">.</span><span class="identifier">member_nameN</span></code>
</p>
</td>
<td>
<p>
Access of struct member <code class="computeroutput"><span class="identifier">member_nameN</span></code>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.adapted.define_tpl_struct.header"></a><h5>
<a name="id975709"></a>
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.header">Header</a>
</h5>
<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">define_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">define_struct</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.adapted.define_tpl_struct.example"></a><h5>
<a name="id978010"></a>
<a class="link" href="define_tpl_struct.html#fusion.adapted.define_tpl_struct.example">Example</a>
</h5>
<pre class="programlisting"><span class="comment">// Any instantiated demo::employee is a Fusion sequence
</span><span class="identifier">BOOST_FUSION_DEFINE_TPL_STRUCT</span><span class="special">(</span>
<span class="special">(</span><span class="identifier">Name</span><span class="special">)(</span><span class="identifier">Age</span><span class="special">),</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="special">(</span><span class="identifier">Name</span><span class="special">,</span> <span class="identifier">name</span><span class="special">)</span>
<span class="special">(</span><span class="identifier">Age</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 &#169; 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="define_struct.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="define_assoc_struct.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>mpl sequence</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>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">
@ -12,77 +12,81 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.mpl_sequence"></a><a class="link" href="mpl_sequence.html" title="mpl sequence">mpl sequence</a>
</h3></div></div></div>
<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><h5>
<a name="id956755"></a>
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.header">Header</a>
</h5>
<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>
<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><h5>
<a name="id956863"></a>
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<a class="link" href="../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
<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 class="listitem">
<a class="link" href="../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
<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 class="listitem">
<a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
<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><h5>
<a name="id956922"></a>
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.example">Example</a>
</h5>
<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>
<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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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">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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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">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><h5>
<a name="id957342"></a>
<a class="link" href="mpl_sequence.html#fusion.adapted.mpl_sequence.see_also">See also</a>
</h5>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -91,7 +95,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="std__pair.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost__array.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,72 +1,75 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>std::pair</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../adapted.html" title="Adapted">
<link rel="prev" href="array.html" title="Array">
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.adapted.std__pair"></a><a class="link" href="std__pair.html" title="std::pair">std::pair</a>
</h3></div></div></div>
<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 <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>.
Including the module header makes <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
a fully conforming <a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
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><h5>
<a name="id954646"></a>
<a class="link" href="std__pair.html#fusion.adapted.std__pair.header">Header</a>
</h5>
<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>
<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><h5>
<a name="id954754"></a>
<a class="link" href="std__pair.html#fusion.adapted.std__pair.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><a class="link" href="../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
<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><h5>
<a name="id954779"></a>
<a class="link" href="std__pair.html#fusion.adapted.std__pair.example">Example</a>
</h5>
<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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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 class="link" href="../sequence/intrinsic/functions/at_c.html" title="at_c"><code class="computeroutput"><span class="identifier">at_c</span></code></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>
<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><h5>
<a name="id956669"></a>
<a class="link" href="std__pair.html#fusion.adapted.std__pair.see_also">See also</a>
</h5>
<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"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code></a>,
<a class="link" href="../tuple/pairs.html" title="Pairs"><code 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></code></a>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -75,7 +78,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="array.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adapted.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mpl_sequence.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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,31 +1,30 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Algorithm</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="prev" href="adapted/define_assoc_tpl_struct.html" title="BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../index.html" title="Chapter<EFBFBD>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.html">Home</a></td>
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="fusion.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm">Algorithm</a>
</h2></div></div></div>
<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>
@ -43,10 +42,10 @@
<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><h4>
<a name="id980125"></a>
<a class="link" href="algorithm.html#fusion.algorithm.lazy_evaluation">Lazy Evaluation</a>
</h4>
<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?
@ -58,45 +57,49 @@
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 class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> algorithm does not actually
return a transformed version of the original sequence. <a class="link" href="algorithm/transformation/functions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a> returns a <a class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>. This view holds a
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 class="link" href="view/transform_view.html" title="transform_view"><code class="computeroutput"><span class="identifier">transform_view</span></code></a>
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><h4>
<a name="id980362"></a>
<a class="link" href="algorithm.html#fusion.algorithm.sequence_extension">Sequence Extension</a>
</h4>
<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 class="link" href="algorithm.html" title="Algorithm">Algorithms</a>
return <a class="link" href="view.html" title="View">Views</a> also allows operations such
as <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> to be totally generic. In
Fusion, <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> is actually a generic algorithm
that works on all sequences. Given an input sequence <code class="computeroutput"><span class="identifier">s</span></code>
and a value <code class="computeroutput"><span class="identifier">x</span></code>, Fusion's <a class="link" href="algorithm/transformation/functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a> algorithm simply returns
a <a class="link" href="view/joint_view.html" title="joint_view"><code class="computeroutput"><span class="identifier">joint_view</span></code></a>:
a view that holds a reference to the original sequence <code class="computeroutput"><span class="identifier">s</span></code>
and the value <code class="computeroutput"><span class="identifier">x</span></code>. Functions
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. To regain the original sequence, <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a>
functions are provided. You may use one of the <a class="link" href="container/conversion/functions.html" title="Functions">Conversion</a>
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><h4>
<a name="id980470"></a>
<a class="link" href="algorithm.html#fusion.algorithm.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">hpp</span><span class="special">&gt;</span>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -105,7 +108,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="adapted/define_assoc_tpl_struct.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm/iteration.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
<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,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Iteration</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>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">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.iteration"></a><a class="link" href="iteration.html" title="Iteration">Iteration</a>
</h3></div></div></div>
<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>
@ -34,17 +33,18 @@
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><h5>
<a name="id980584"></a>
<a class="link" href="iteration.html#fusion.algorithm.iteration.header">Header</a>
</h5>
<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>
<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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -53,7 +53,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iteration/functions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
<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

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="../iteration.html" title="Iteration">
<link rel="next" href="functions/fold.html" title="fold">
@ -12,32 +12,28 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.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="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
</h4></div></div></div>
<a name="fusion.algorithm.iteration.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="functions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="functions/reverse_fold.html">reverse_fold</a></span></dt>
<dt><span class="section"><a href="functions/iter_fold.html">iter_fold</a></span></dt>
<dt><span class="section"><a href="functions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt>
<dt><span class="section"><a href="functions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="functions/for_each.html">for_each</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"><div class="copyright-footer">Copyright &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -46,7 +42,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../iteration.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.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="functions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,81 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="for_each.html" title="for_each">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id581187"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a>
</h6>
<p>
<a name="fusion.algorithm.iteration.functions.accumulate.description"></a>
</p>
<h6>
<a name="id988080"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.description">Description</a>
</h6>
<p>
</p>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>,
initial state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="literal">accumulate</code> returns the result of the repeated application
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the
result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
if it is the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a>
</p>
<h6>
<a name="id988159"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> accumulate<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="identifier">f</span><span class="special">);</span>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
accumulate repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.synopsis"></a><h6>
<a name="id581266"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> accumulate<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">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="identifier">f</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">accumulate</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>
<p>
</p>
<div class="table">
<a name="id988510"></a><p class="title"><b>Table&#160;1.41.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id581528"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -83,162 +59,136 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
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
each element <tt class="computeroutput"><span class="identifier">e1</span></tt>
to <tt class="computeroutput"><span class="identifier">eN</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">initial_state</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> for current state
<code class="computeroutput"><span class="identifier">s</span></code> of type
<code class="computeroutput"><span class="identifier">S</span></code>, and for
each element <code class="computeroutput"><span class="identifier">e</span></code>
of type <code class="computeroutput"><span class="identifier">E</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <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>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a>
</p>
<h6>
<a name="id988772"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">accumulate<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a name="fusion.algorithm.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id581979"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">accumulate</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<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>.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a><h6>
<a name="id582190"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code>
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.accumulate.complexity"></a>
</p>
<h6>
<a name="id988855"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.accumulate.header"></a>
</p>
<h6>
<a name="id988915"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<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>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
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>.
</p>
<a name="fusion.algorithm.iteration.functions.accumulate.header"></a><h6>
<a name="id582286"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.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">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>
<p>
<a name="fusion.algorithm.iteration.functions.accumulate.example"></a>
</p>
<h6>
<a name="id989025"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
<a name="fusion.algorithm.iteration.functions.accumulate.example"></a><h6>
<a name="id582456"></a>
<a href="accumulate.html#fusion.algorithm.iteration.functions.accumulate.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</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">result_type</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="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</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">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</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="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</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">str</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span>t<span class="special">);</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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>accumulate<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> "12"<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="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>
<p>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -247,7 +197,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="fold.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,81 +1,57 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="reverse_fold.html" title="reverse_fold">
<link rel="next" href="accumulate.html" title="accumulate">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.fold"></a><a class="link" href="fold.html" title="fold">fold</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id579458"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a>
</h6>
<p>
<a name="fusion.algorithm.iteration.functions.fold.description"></a>
</p>
<h6>
<a name="id980714"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.description">Description</a>
</h6>
<p>
</p>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>,
initial state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="literal">fold</code> returns the result of the repeated application
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the
result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
if it is the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.fold.synopsis"></a>
</p>
<h6>
<a name="id980788"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> fold<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="identifier">f</span><span class="special">);</span>
For a sequence <tt class="computeroutput"><span class="identifier">Seq</span></tt>, initial
state, and binary function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
fold repeatedly applies binary <tt class="computeroutput"><span class="identifier">f</span></tt>
to each element of <tt class="computeroutput"><span class="identifier">Seq</span></tt>
and the previous state.
</p>
<a name="fusion.algorithm.iteration.functions.fold.synopsis"></a><h6>
<a name="id579538"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> fold<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">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="identifier">f</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fold</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>
<p>
</p>
<div class="table">
<a name="id981137"></a><p class="title"><b>Table&#160;1.37.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id579798"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -83,162 +59,136 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current
state <tt class="computeroutput"><span class="identifier">s</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">initial_state</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">initial_state</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> for current state
<code class="computeroutput"><span class="identifier">s</span></code> of type
<code class="computeroutput"><span class="identifier">S</span></code>, and for
each element <code class="computeroutput"><span class="identifier">e</span></code>
of type <code class="computeroutput"><span class="identifier">E</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <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>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a>
</p>
<h6>
<a name="id981401"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<a name="fusion.algorithm.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id580207"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">fold</span><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<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>.
</p>
<a name="fusion.algorithm.iteration.functions.fold.complexity"></a><h6>
<a name="id580418"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
f(f(initial_state,e1),e2) ...eN)</code> where <code class="literal">e1 ...eN</code>
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.fold.complexity"></a>
</p>
<h6>
<a name="id981484"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.fold.header"></a>
</p>
<h6>
<a name="id981542"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<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>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
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>.
</p>
<a name="fusion.algorithm.iteration.functions.fold.header"></a><h6>
<a name="id580513"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.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">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>
<p>
<a name="fusion.algorithm.iteration.functions.fold.example"></a>
</p>
<h6>
<a name="id981652"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</span>
<a name="fusion.algorithm.iteration.functions.fold.example"></a><h6>
<a name="id580682"></a>
<a href="fold.html#fusion.algorithm.iteration.functions.fold.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">make_string</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">result_type</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="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</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">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</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="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</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">str</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span>t<span class="special">);</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><span class="identifier">t</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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>fold<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> "12"<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="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>
<p>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -247,7 +197,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="accumulate.html" title="accumulate">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
</h5></div></div></div>
<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.algorithm.iteration.functions.for_each.description"></a><h6>
<a name="id989375"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a>
<a name="id582958"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.description">Description</a>
</h6>
<p>
Applies a unary function object to each element of a sequence.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.synopsis"></a><h6>
<a name="id989394"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a>
<a name="id582990"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">for_each</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="identifier">f</span><span class="special">);</span>
<span class="keyword">typename</span> <a href="../metafunctions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</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">&gt;::</span><span class="identifier">type</span> <span class="identifier">for_each</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>
<div class="table">
<a name="id989526"></a><p class="title"><b>Table&#160;1.42.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id583193"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,96 +54,101 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary <a class="link" href="../../../functional/concepts/reg_callable.html" title="Regular Callable Object">Regular
Callable Object</a>
</p>
</td>
<p>
A unary <a href="../../../functional/concepts/reg_callable.html" title=" Regular Callable
Object">Regular
Callable Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id989682"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression
<a name="fusion.algorithm.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id583393"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<pre class="programlisting">
<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">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Calls <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>.
<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>.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.complexity"></a><h6>
<a name="id989787"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a>
<a name="id583552"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
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>.
</p>
<a name="fusion.algorithm.iteration.functions.for_each.header"></a><h6>
<a name="id989847"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.header">Header</a>
<a name="id583647"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.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">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>
<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">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>
<a name="fusion.algorithm.iteration.functions.for_each.example"></a><h6>
<a name="id989962"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a>
<a name="id583817"></a>
<a href="for_each.html#fusion.algorithm.iteration.functions.for_each.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">increment</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">increment</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">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
@ -152,14 +157,14 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -168,7 +173,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,253 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>iter_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="reverse_fold.html" title="reverse_fold">
<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.functions.iter_fold.description"></a>
</p>
<h6>
<a name="id983315"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.description">Description</a>
</h6>
<p>
</p>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>,
initial state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="literal">iter_fold</code> returns the result of the repeated application
of binary <code class="computeroutput"><span class="identifier">f</span></code> to the
result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
if it is the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.iter_fold.synopsis"></a>
</p>
<h6>
<a name="id983391"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> iter_fold<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="identifier">f</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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">iter_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> iter_fold<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">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="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<div class="table">
<a name="id983740"></a><p class="title"><b>Table&#160;1.39.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">initial_state</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)&gt;::</span><span class="identifier">type</span></code> for current state
<code class="computeroutput"><span class="identifier">s</span></code> of type
<code class="computeroutput"><span class="identifier">S</span></code>, and for
each iterator <code class="computeroutput"><span class="identifier">it</span></code>
of type <code class="computeroutput"><span class="identifier">It</span></code>
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.functions.iter_fold.expression_semantics"></a>
</p>
<h6>
<a name="id984002"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
f(f(initial_state,it1),it2) ...itN)</code> where <code class="literal">it1 ...itN</code>
are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.iter_fold.complexity"></a>
</p>
<h6>
<a name="id984086"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.iter_fold.header"></a>
</p>
<h6>
<a name="id984146"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<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>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
<a name="fusion.algorithm.iteration.functions.iter_fold.example"></a>
</p>
<h6>
<a name="id984256"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.functions.iter_fold.example">Example</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</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">result_type</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="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</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">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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>iter_fold<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> "12"<span class="special">);</span>
</pre>
<p>
</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 &#169; 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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,253 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>reverse_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="iter_fold.html" title="iter_fold">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_fold.description"></a>
</p>
<h6>
<a name="id982004"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.description">Description</a>
</h6>
<p>
</p>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>,
initial state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="literal">reverse_fold</code> returns the result of the repeated
application of binary <code class="computeroutput"><span class="identifier">f</span></code>
to the result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
if it is the first call) and each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_fold.synopsis"></a>
</p>
<h6>
<a name="id982083"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> reverse_fold<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="identifier">f</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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> reverse_fold<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">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="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<div class="table">
<a name="id982434"></a><p class="title"><b>Table&#160;1.38.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">initial_state</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> for current state
<code class="computeroutput"><span class="identifier">s</span></code> of type
<code class="computeroutput"><span class="identifier">S</span></code>, and for
each element <code class="computeroutput"><span class="identifier">e</span></code>
of type <code class="computeroutput"><span class="identifier">E</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.functions.reverse_fold.expression_semantics"></a>
</p>
<h6>
<a name="id982701"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">reverse_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
f(f(initial_state,eN),eN-1) ...e1)</code> where <code class="literal">e1 ...eN</code>
are the consecutive elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_fold.complexity"></a>
</p>
<h6>
<a name="id982784"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_fold.header"></a>
</p>
<h6>
<a name="id982846"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<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>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_fold.example"></a>
</p>
<h6>
<a name="id982961"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.functions.reverse_fold.example">Example</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</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">result_type</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="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</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">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span>t<span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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>reverse_fold<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> "21"<span class="special">);</span>
</pre>
<p>
</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 &#169; 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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,253 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>reverse_iter_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="iter_fold.html" title="iter_fold">
<link rel="next" href="accumulate.html" title="accumulate">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.description"></a>
</p>
<h6>
<a name="id984614"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.description">Description</a>
</h6>
<p>
</p>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code>,
initial state <code class="computeroutput"><span class="identifier">initial_state</span></code>,
and binary function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="literal">reverse_iter_fold</code> returns the result of the repeated
application of binary <code class="computeroutput"><span class="identifier">f</span></code>
to the result of the previous <code class="computeroutput"><span class="identifier">f</span></code>
invocation (<code class="computeroutput"><span class="identifier">inital_state</span></code>
if it is the first call) and iterators on each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis"></a>
</p>
<h6>
<a name="id984689"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> reverse_iter_fold<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="identifier">f</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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse_iter_fold</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> reverse_iter_fold<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">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="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<div class="table">
<a name="id987199"></a><p class="title"><b>Table&#160;1.40.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">initial_state</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Initial state
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with return type <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)&gt;::</span><span class="identifier">type</span></code> for current state
<code class="computeroutput"><span class="identifier">s</span></code> of type
<code class="computeroutput"><span class="identifier">S</span></code>, and for
each iterator <code class="computeroutput"><span class="identifier">it</span></code>
of type <code class="computeroutput"><span class="identifier">It</span></code>
on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics"></a>
</p>
<h6>
<a name="id987460"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">reverse_iter_fold<span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Equivalent to <code class="literal">f(...
f(f(initial_state,itN),itN-1) ...it1)</code> where <code class="literal">it1
...itN</code> are consecutive iterators on the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.complexity"></a>
</p>
<h6>
<a name="id987542"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.header"></a>
</p>
<h6>
<a name="id987602"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<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>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
<a name="fusion.algorithm.iteration.functions.reverse_iter_fold.example"></a>
</p>
<h6>
<a name="id987717"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.functions.reverse_iter_fold.example">Example</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">make_string</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">result_type</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="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="keyword">operator</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">str</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">str</span> <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;(</span><a class="link" href="../../../iterator/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a>(t)<span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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>reverse_iter_fold<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> "21"<span class="special">);</span>
</pre>
<p>
</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 &#169; 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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../iteration.html" title="Iteration">
<link rel="prev" href="functions/for_each.html" title="for_each">
<link rel="next" href="metafunctions/fold.html" title="fold">
@ -12,32 +12,28 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.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="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.iteration.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
</h4></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="metafunctions/fold.html">fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/reverse_fold.html">reverse_fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/iter_fold.html">iter_fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/reverse_iter_fold.html">reverse_iter_fold</a></span></dt>
<dt><span class="section"><a href="metafunctions/accumulate.html">accumulate</a></span></dt>
<dt><span class="section"><a href="metafunctions/for_each.html">for_each</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"><div class="copyright-footer">Copyright &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -46,7 +42,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/fold.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/for_each.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../iteration.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="metafunctions/fold.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,67 +1,54 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>accumulate</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="reverse_iter_fold.html" title="reverse_iter_fold">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="for_each.html" title="for_each">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="fold.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="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id585193"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a>
</h6>
<p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.description"></a>
</p>
<h6>
<a name="id994579"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.description">Description</a>
</h6>
<p>
</p>
<p>
Returns the result type of <a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a>
</p>
<h6>
<a name="id994610"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">accumulate</span></tt></a>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.synopsis"></a><h6>
<a name="id585243"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> accumulate
<span class="keyword">struct</span> <span class="identifier">accumulate</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>
</pre>
<p>
</p>
<div class="table">
<a name="id994705"></a><p class="title"><b>Table&#160;1.47.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id585379"></a><p class="title"><b>Table<EFBFBD>1.37.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -69,136 +56,117 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">State</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">State</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> is the return type
of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, and an element <code class="computeroutput"><span class="identifier">e</span></code> of type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <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>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
The operation to be applied on traversal
</p>
</td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a>
</p>
<h6>
<a name="id994973"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">accumulate<span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<a class="link" href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a> to a sequence of
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a>
</p>
<h6>
<a name="id995074"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a>
</p>
<h6>
<a name="id995136"></a>
<a class="link" href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>accumulate<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>accumulate<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id585732"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="accumulate.html" title="accumulate"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">accumulate</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">accumulate</span></tt> to a sequence
of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with
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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.complexity"></a><h6>
<a name="id585908"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6>
<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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.accumulate.header"></a><h6>
<a name="id586004"></a>
<a href="accumulate.html#fusion.algorithm.iteration.metafunctions.accumulate.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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -207,7 +175,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="fold.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="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,67 +1,54 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="reverse_fold.html" title="reverse_fold">
<link rel="next" href="accumulate.html" title="accumulate">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.fold"></a><a class="link" href="fold.html" title="fold">fold</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id584198"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a>
</h6>
<p>
<a name="fusion.algorithm.iteration.metafunctions.fold.description"></a>
</p>
<h6>
<a name="id990228"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.description">Description</a>
</h6>
<p>
</p>
<p>
Returns the result type of <a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a>
</p>
<h6>
<a name="id990257"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
Returns the result type of <a href="../functions/fold.html" title="fold"><tt class="computeroutput"><span class="identifier">fold</span></tt></a>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.synopsis"></a><h6>
<a name="id584248"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
<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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> fold
<span class="keyword">struct</span> <span class="identifier">fold</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>
</pre>
<p>
</p>
<div class="table">
<a name="id990349"></a><p class="title"><b>Table&#160;1.43.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id584383"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -69,136 +56,117 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">State</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">State</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
The initial state for the first application of <tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> is the return type
of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, and an element <code class="computeroutput"><span class="identifier">e</span></code> of type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <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>
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of type <tt class="computeroutput"><span class="identifier">E</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>, and current state <tt class="computeroutput"><span class="identifier">s</span></tt> of type <tt class="computeroutput"><span class="identifier">S</span></tt>
</p>
</td>
<td>
<p>
The operation to be applied on traversal
</p>
</td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a>
</p>
<h6>
<a name="id990617"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">fold<span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<a class="link" href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a> to a sequence of type
<code class="computeroutput"><span class="identifier">Sequence</span></code>, with an initial
state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a>
</p>
<h6>
<a name="id990718"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.fold.header"></a>
</p>
<h6>
<a name="id990778"></a>
<a class="link" href="fold.html#fusion.algorithm.iteration.metafunctions.fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>fold<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>fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<a name="fusion.algorithm.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id584733"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<a href="fold.html" title="fold"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">fold</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: Any type
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns the result of applying
<tt class="computeroutput"><span class="identifier">fold</span></tt> to a sequence of
type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>, with 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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.complexity"></a><h6>
<a name="id584907"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.complexity">Complexity</a>
</h6>
<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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.fold.header"></a><h6>
<a name="id585003"></a>
<a href="fold.html#fusion.algorithm.iteration.metafunctions.fold.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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -207,7 +175,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="accumulate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>for_each</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="accumulate.html" title="accumulate">
<link rel="next" href="../../query.html" title="Query">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="accumulate.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="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
</h5></div></div></div>
<a name="fusion.algorithm.iteration.metafunctions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<p>
A metafunction returning the result type of applying <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> to a sequence. The
return type of <a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> is always <code class="computeroutput"><span class="keyword">void</span></code>.
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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.description"></a><h6>
<a name="id995294"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a>
<a name="id586249"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.description">Description</a>
</h6>
<a name="fusion.algorithm.iteration.metafunctions.for_each.synopsis"></a><h6>
<a name="id995312"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a>
<a name="id586276"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id995400"></a><p class="title"><b>Table&#160;1.48.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id586398"></a><p class="title"><b>Table<EFBFBD>1.38.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,95 +57,98 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id995519"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression
<a name="fusion.algorithm.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id586539"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<pre class="programlisting">
<a href="for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">for_each</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">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">void</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">void</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a> for a sequence of type
<code class="computeroutput"><span class="identifier">Sequence</span></code> and a unary
function object <code class="computeroutput"><span class="identifier">F</span></code>. The
return type is always <code class="computeroutput"><span class="keyword">void</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/for_each.html" title="for_each"><tt class="computeroutput"><span class="identifier">for_each</span></tt></a> for a sequence of type
<tt class="computeroutput"><span class="identifier">Sequence</span></tt> and a unary
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>.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.complexity"></a><h6>
<a name="id995633"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a>
<a name="id586721"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.iteration.metafunctions.for_each.header"></a><h6>
<a name="id995655"></a>
<a class="link" href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.header">Header</a>
<a name="id586751"></a>
<a href="for_each.html#fusion.algorithm.iteration.metafunctions.for_each.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -154,7 +157,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../query.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="accumulate.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="../../query.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,213 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>iter_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="reverse_fold.html" title="reverse_fold">
<link rel="next" href="reverse_iter_fold.html" title="reverse_iter_fold">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.iter_fold"></a><a class="link" href="iter_fold.html" title="iter_fold">iter_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.description"></a>
</p>
<h6>
<a name="id993221"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.description">Description</a>
</h6>
<p>
</p>
<p>
Returns the result type of <a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.synopsis"></a>
</p>
<h6>
<a name="id993252"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> iter_fold
<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>
</pre>
<p>
</p>
<div class="table">
<a name="id993347"></a><p class="title"><b>Table&#160;1.45.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">State</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)&gt;::</span><span class="identifier">type</span></code> is the return type
of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, and an iterator <code class="computeroutput"><span class="identifier">it</span></code> of type <code class="computeroutput"><span class="identifier">It</span></code> on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
The operation to be applied on traversal
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics"></a>
</p>
<h6>
<a name="id993614"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">iter_fold<span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<a class="link" href="../functions/iter_fold.html" title="iter_fold"><code class="computeroutput"><span class="identifier">iter_fold</span></code></a> to a sequence of
type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.complexity"></a>
</p>
<h6>
<a name="id993715"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.iter_fold.header"></a>
</p>
<h6>
<a name="id993778"></a>
<a class="link" href="iter_fold.html#fusion.algorithm.iteration.metafunctions.iter_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>iter_fold<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>iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
</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 &#169; 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="reverse_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,213 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>reverse_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="fold.html" title="fold">
<link rel="next" href="iter_fold.html" title="iter_fold">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold"></a><a class="link" href="reverse_fold.html" title="reverse_fold">reverse_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.description"></a>
</p>
<h6>
<a name="id990903"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.description">Description</a>
</h6>
<p>
</p>
<p>
Returns the result type of <a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis"></a>
</p>
<h6>
<a name="id990931"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> reverse_fold
<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>
</pre>
<p>
</p>
<div class="table">
<a name="id991026"></a><p class="title"><b>Table&#160;1.44.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">State</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>E<span class="special">)&gt;::</span><span class="identifier">type</span></code> is the return type
of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>e<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, and an element <code class="computeroutput"><span class="identifier">e</span></code> of type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
The operation to be applied on traversal
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics"></a>
</p>
<h6>
<a name="id992933"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">reverse_fold<span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<a class="link" href="../functions/reverse_fold.html" title="reverse_fold"><code class="computeroutput"><span class="identifier">reverse_fold</span></code></a> to a sequence
of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.complexity"></a>
</p>
<h6>
<a name="id993031"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_fold.header"></a>
</p>
<h6>
<a name="id993091"></a>
<a class="link" href="reverse_fold.html#fusion.algorithm.iteration.metafunctions.reverse_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_fold<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>reverse_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
</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 &#169; 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="fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="iter_fold.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,213 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>reverse_iter_fold</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="iter_fold.html" title="iter_fold">
<link rel="next" href="accumulate.html" title="accumulate">
</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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold"></a><a class="link" href="reverse_iter_fold.html" title="reverse_iter_fold">reverse_iter_fold</a>
</h5></div></div></div>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description"></a>
</p>
<h6>
<a name="id993910"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.description">Description</a>
</h6>
<p>
</p>
<p>
Returns the result type of <a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis"></a>
</p>
<h6>
<a name="id993936"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.synopsis">Synopsis</a>
</h6>
<p>
</p>
<pre class="programlisting"><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">State</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">&gt;</span>
<span class="keyword">struct</span> reverse_iter_fold
<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>
</pre>
<p>
</p>
<div class="table">
<a name="id994028"></a><p class="title"><b>Table&#160;1.46.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">State</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The initial state for the first application of <code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">S</span><span class="special">,</span>It<span class="special">)&gt;::</span><span class="identifier">type</span></code> is the return type
of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span>it<span class="special">)</span></code> with current state <code class="computeroutput"><span class="identifier">s</span></code> of type <code class="computeroutput"><span class="identifier">S</span></code>, and an iterator <code class="computeroutput"><span class="identifier">it</span></code> of type <code class="computeroutput"><span class="identifier">It</span></code> on an element of <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
The operation to be applied on traversal
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics"></a>
</p>
<h6>
<a name="id994296"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.expression_semantics">Expression
Semantics</a>
</h6>
<p>
</p>
<pre class="programlisting">reverse_iter_fold<span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">State</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
</p>
<p>
<span class="bold"><strong>Return type</strong></span>: Any type
</p>
<p>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the result of applying
<a class="link" href="../functions/reverse_iter_fold.html" title="reverse_iter_fold"><code class="computeroutput"><span class="identifier">reverse_iter_fold</span></code></a> to a sequence
of type <code class="computeroutput"><span class="identifier">Sequence</span></code>, with
an initial state of type <code class="computeroutput"><span class="identifier">State</span></code>
and binary function object or function pointer of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity"></a>
</p>
<h6>
<a name="id994394"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.complexity">Complexity</a>
</h6>
<p>
</p>
<p>
Linear, exactly <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> applications of <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<p>
<a name="fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header"></a>
</p>
<h6>
<a name="id994452"></a>
<a class="link" href="reverse_iter_fold.html#fusion.algorithm.iteration.metafunctions.reverse_iter_fold.header">Header</a>
</h6>
<p>
</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">algorithm</span><span class="special">/</span><span class="identifier">iteration</span><span class="special">/</span>reverse_iter_fold<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>reverse_iter_fold<span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<p>
</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 &#169; 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="iter_fold.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="accumulate.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Query</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="iteration/metafunctions/for_each.html" title="for_each">
<link rel="next" href="query/functions.html" title="Functions">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/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="../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>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.query"></a><a class="link" href="query.html" title="Query">Query</a>
</h3></div></div></div>
<a name="fusion.algorithm.query"></a><a href="query.html" title="Query">Query</a></h3></div></div></div>
<div class="toc"><dl>
<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>
@ -33,17 +32,18 @@
<p>
The query algorithms provide support for searching and analyzing sequences.
</p>
<a name="fusion.algorithm.query.header"></a><h5>
<a name="id995789"></a>
<a class="link" href="query.html#fusion.algorithm.query.header">Header</a>
</h5>
<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>
<a name="fusion.algorithm.query.header"></a><h4>
<a name="id586949"></a>
<a href="query.html#fusion.algorithm.query.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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -52,7 +52,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="iteration/metafunctions/for_each.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="query/functions.html"><img src="../../../../../../doc/src/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="../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>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="../query.html" title="Query">
<link rel="next" href="functions/any.html" title="any">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.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="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
</h4></div></div></div>
<a name="fusion.algorithm.query.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<div class="toc"><dl>
<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>
@ -38,7 +37,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -47,7 +46,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../query.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.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="functions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="any.html" title="any">
<link rel="next" href="none.html" title="none">
@ -12,45 +12,45 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.all"></a><a class="link" href="all.html" title="all">all</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id996788"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.description">Description</a>
<a name="id385641"></a>
<a href="all.html#fusion.algorithm.query.functions.all.description">Description</a>
</h6>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">all</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns true for every
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">all</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns true for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.all.synopsis"></a><h6>
<a name="id996840"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a>
<a name="id385718"></a>
<a href="all.html#fusion.algorithm.query.functions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">all</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</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">&gt;::</span><span class="identifier">type</span> <span class="identifier">all</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>
<div class="table">
<a name="id996976"></a><p class="title"><b>Table&#160;1.50.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id590090"></a><p class="title"><b>Table<EFBFBD>1.40.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,98 +58,101 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
element <code class="computeroutput"><span class="identifier">e</span></code> in
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.all.expression_semantics"></a><h6>
<a name="id997138"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.all.expression_semantics"></a><h6>
<a name="id590278"></a>
<a href="all.html#fusion.algorithm.query.functions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">all</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>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for every
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
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>.
</p>
<a name="fusion.algorithm.query.functions.all.complexity"></a><h6>
<a name="id998342"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a>
<a name="id590430"></a>
<a href="all.html#fusion.algorithm.query.functions.all.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.all.header"></a><h6>
<a name="id998393"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.header">Header</a>
<a name="id590502"></a>
<a href="all.html#fusion.algorithm.query.functions.all.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.all.example"></a><h6>
<a name="id998508"></a>
<a class="link" href="all.html#fusion.algorithm.query.functions.all.example">Example</a>
<a name="id590653"></a>
<a href="all.html#fusion.algorithm.query.functions.all.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</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">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
@ -158,13 +161,13 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -173,7 +176,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="all.html" title="all">
@ -12,45 +12,45 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.any"></a><a class="link" href="any.html" title="any">any</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id995916"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.description">Description</a>
<a name="id587147"></a>
<a href="any.html#fusion.algorithm.query.functions.any.description">Description</a>
</h6>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">any</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns true for at
least one element of <code class="computeroutput"><span class="identifier">seq</span></code>.
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">any</span></tt> returns true if
<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>.
</p>
<a name="fusion.algorithm.query.functions.any.synopsis"></a><h6>
<a name="id995969"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a>
<a name="id587236"></a>
<a href="any.html#fusion.algorithm.query.functions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">any</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</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">&gt;::</span><span class="identifier">type</span> <span class="identifier">any</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>
<div class="table">
<a name="id996105"></a><p class="title"><b>Table&#160;1.49.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id587429"></a><p class="title"><b>Table<EFBFBD>1.39.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,98 +58,101 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> must be a valid expression,
convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.any.expression_semantics"></a><h6>
<a name="id996266"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.any.expression_semantics"></a><h6>
<a name="id587631"></a>
<a href="any.html#fusion.algorithm.query.functions.any.expression_semantics">Expression
semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">any</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>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code> for some
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
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>.
</p>
<a name="fusion.algorithm.query.functions.any.complexity"></a><h6>
<a name="id996377"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a>
<a name="id587800"></a>
<a href="any.html#fusion.algorithm.query.functions.any.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.any.header"></a><h6>
<a name="id996428"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.header">Header</a>
<a name="id587883"></a>
<a href="any.html#fusion.algorithm.query.functions.any.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.any.example"></a><h6>
<a name="id996543"></a>
<a class="link" href="any.html#fusion.algorithm.query.functions.any.example">Example</a>
<a name="id588051"></a>
<a href="any.html#fusion.algorithm.query.functions.any.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</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">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
@ -158,13 +161,13 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -173,7 +176,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find_if.html" title="find_if">
<link rel="next" href="count_if.html" title="count_if">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count"></a><a class="link" href="count.html" title="count">count</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1001751"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.description">Description</a>
<a name="id594274"></a>
<a href="count.html#fusion.algorithm.query.functions.count.description">Description</a>
</h6>
<p>
Returns the number of elements of a given type within a sequence.
</p>
<a name="fusion.algorithm.query.functions.count.synopsis"></a><h6>
<a name="id1001768"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a>
<a name="id594304"></a>
<a href="count.html#fusion.algorithm.query.functions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></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> <span class="identifier">count</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</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> <span class="identifier">count</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>
<div class="table">
<a name="id1001913"></a><p class="title"><b>Table&#160;1.54.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id594508"></a><p class="title"><b>Table<EFBFBD>1.44.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,104 +54,107 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span>
<span class="special">==</span> <span class="identifier">t</span></code>
must be a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
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>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to count
</p>
</td>
<p>
The type to count
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.count.expression_semantics"></a><h6>
<a name="id1002074"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.count.expression_semantics"></a><h6>
<a name="id594701"></a>
<a href="count.html#fusion.algorithm.query.functions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">count</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>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
of type <code class="computeroutput"><span class="identifier">T</span></code> and equal to
<code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the number of elements
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>.
</p>
<a name="fusion.algorithm.query.functions.count.complexity"></a><h6>
<a name="id1002168"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a>
<a name="id594839"></a>
<a href="count.html#fusion.algorithm.query.functions.count.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.count.header"></a><h6>
<a name="id1002218"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.header">Header</a>
<a name="id594920"></a>
<a href="count.html#fusion.algorithm.query.functions.count.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.count.example"></a><h6>
<a name="id1002333"></a>
<a class="link" href="count.html#fusion.algorithm.query.functions.count.example">Example</a>
<a name="id595086"></a>
<a href="count.html#fusion.algorithm.query.functions.count.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></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 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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -160,7 +163,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="count.html" title="count">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
@ -12,42 +12,42 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a>
</h5></div></div></div>
<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.algorithm.query.functions.count_if.description"></a><h6>
<a name="id1002478"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a>
<a name="id595296"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.description">Description</a>
</h6>
<p>
Returns the number of elements within a sequence with a type for which
a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.count_if.synopsis"></a><h6>
<a name="id1002502"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a>
<a name="id595338"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">count_if</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_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">&gt;::</span><span class="identifier">type</span> <span class="identifier">count_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="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1002639"></a><p class="title"><b>Table&#160;1.55.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id595533"></a><p class="title"><b>Table<EFBFBD>1.45.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -55,102 +55,105 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
element <code class="computeroutput"><span class="identifier">e</span></code> in
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for each
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a><h6>
<a name="id1002801"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.count_if.expression_semantics"></a><h6>
<a name="id595729"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
<pre class="programlisting">
<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">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the number of elements
in <code class="computeroutput"><span class="identifier">seq</span></code> where <code class="computeroutput"><span class="identifier">f</span></code> evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
<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>.
</p>
<a name="fusion.algorithm.query.functions.count_if.complexity"></a><h6>
<a name="id1002895"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a>
<a name="id595867"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.count_if.header"></a><h6>
<a name="id1002945"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.header">Header</a>
<a name="id595947"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.count_if.example"></a><h6>
<a name="id1003060"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a>
<a name="id596114"></a>
<a href="count_if.html#fusion.algorithm.query.functions.count_if.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></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 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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -159,7 +162,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="none.html" title="none">
<link rel="next" href="find_if.html" title="find_if">
@ -12,32 +12,32 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find"></a><a class="link" href="find.html" title="find">find</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id999655"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.description">Description</a>
<a name="id592150"></a>
<a href="find.html#fusion.algorithm.query.functions.find.description">Description</a>
</h6>
<p>
Finds the first element of a given type within a sequence.
</p>
<a name="fusion.algorithm.query.functions.find.synopsis"></a><h6>
<a name="id999672"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a>
<a name="id592179"></a>
<a href="find.html#fusion.algorithm.query.functions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
@ -50,8 +50,8 @@
<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>
<div class="table">
<a name="id999817"></a><p class="title"><b>Table&#160;1.52.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id592357"></a><p class="title"><b>Table<EFBFBD>1.42.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -59,103 +59,107 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to search for
</p>
</td>
<p>
The type to search for
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.find.expression_semantics"></a><h6>
<a name="id999938"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.find.expression_semantics"></a><h6>
<a name="id592491"></a>
<a href="find.html#fusion.algorithm.query.functions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></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 class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">find</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>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element of <code class="computeroutput"><span class="identifier">seq</span></code>
of type <code class="computeroutput"><span class="identifier">T</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code> if there is no such element. Equivalent
to <code class="computeroutput"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></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></code>
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
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
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>
<a name="fusion.algorithm.query.functions.find.complexity"></a><h6>
<a name="id1000106"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a>
<a name="id592722"></a>
<a href="find.html#fusion.algorithm.query.functions.find.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.find.header"></a><h6>
<a name="id1000157"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.header">Header</a>
<a name="id592803"></a>
<a href="find.html#fusion.algorithm.query.functions.find.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.find.example"></a><h6>
<a name="id1000272"></a>
<a class="link" href="find.html#fusion.algorithm.query.functions.find.example">Example</a>
<a name="id592969"></a>
<a href="find.html#fusion.algorithm.query.functions.find.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></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 class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></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 class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -164,7 +168,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="find.html" title="find">
<link rel="next" href="count.html" title="count">
@ -12,34 +12,34 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a>
</h5></div></div></div>
<a name="fusion.algorithm.query.functions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<p>
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
Lambda Expression</a> evaluates to <code 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></code>.
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>
<a name="fusion.algorithm.query.functions.find_if.description"></a><h6>
<a name="id1000493"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a>
<a name="id593288"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.description">Description</a>
</h6>
<a name="fusion.algorithm.query.functions.find_if.synopsis"></a><h6>
<a name="id1000506"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a>
<a name="id593312"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
@ -52,8 +52,8 @@
<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>
<div class="table">
<a name="id1001198"></a><p class="title"><b>Table&#160;1.53.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id593511"></a><p class="title"><b>Table<EFBFBD>1.43.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -61,106 +61,104 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a><h6>
<a name="id1001324"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.find_if.expression_semantics"></a><h6>
<a name="id593655"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
<pre class="programlisting">
<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">F</span><span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: An iterator of the same
iterator category as the iterators of <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Return type</b></span>: An iterator of the same
iterator category as the iterators of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the first element
of <code class="computeroutput"><span class="identifier">seq</span></code> for which <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a> <code class="computeroutput"><span class="identifier">F</span></code>
evaluates to <code 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></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">)</span></code>
<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
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>
if there is no such element.
</p>
<a name="fusion.algorithm.query.functions.find_if.complexity"></a><h6>
<a name="id1001458"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a>
<a name="id593858"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<p>
/algorithm/query/find_if.hpp&gt;
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
include &lt;boost/fusion/algorithm/query/find_if.hpp&gt;
</li>
<li class="listitem">
include &lt;boost/fusion/include/find_if.hpp&gt;
</li>
</ol></div>
<a name="fusion.algorithm.query.functions.find_if.example"></a><h6>
<a name="id1001522"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a>
<a name="id593943"></a>
<a href="find_if.html#fusion.algorithm.query.functions.find_if.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></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 class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></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 class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -169,7 +167,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="all.html" title="all">
<link rel="next" href="find.html" title="find">
@ -12,45 +12,45 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.functions.none"></a><a class="link" href="none.html" title="none">none</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id998753"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.description">Description</a>
<a name="id590975"></a>
<a href="none.html#fusion.algorithm.query.functions.none.description">Description</a>
</h6>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
unary function object <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">none</span></code> returns true if
<code class="computeroutput"><span class="identifier">f</span></code> returns false for every
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
unary function object <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">none</span></tt> returns true if
<tt class="computeroutput"><span class="identifier">f</span></tt> returns false for every
element of <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.query.functions.none.synopsis"></a><h6>
<a name="id998806"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a>
<a name="id591052"></a>
<a href="none.html#fusion.algorithm.query.functions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span><span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">none</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</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">&gt;::</span><span class="identifier">type</span> <span class="identifier">none</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>
<div class="table">
<a name="id998941"></a><p class="title"><b>Table&#160;1.51.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id591225"></a><p class="title"><b>Table<EFBFBD>1.41.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,98 +58,101 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for every
element <code class="computeroutput"><span class="identifier">e</span></code> in
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="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
to <tt class="computeroutput"><span class="keyword">bool</span></tt>, for every
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.functions.none.expression_semantics"></a><h6>
<a name="id999103"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression
<a name="fusion.algorithm.query.functions.none.expression_semantics"></a><h6>
<a name="id591413"></a>
<a href="none.html#fusion.algorithm.query.functions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">none</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>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns true if and only
if <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
evaluates to <code class="computeroutput"><span class="keyword">false</span></code> for every
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>. Result equivalent to <code 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></code>.
<span class="bold"><b>Semantics</b></span>: Returns true if and only
if <tt class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></tt>
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>.
</p>
<a name="fusion.algorithm.query.functions.none.complexity"></a><h6>
<a name="id999245"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a>
<a name="id591604"></a>
<a href="none.html#fusion.algorithm.query.functions.none.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.functions.none.header"></a><h6>
<a name="id999295"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.header">Header</a>
<a name="id591677"></a>
<a href="none.html#fusion.algorithm.query.functions.none.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">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>
<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">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>
<a name="fusion.algorithm.query.functions.none.example"></a><h6>
<a name="id999410"></a>
<a class="link" href="none.html#fusion.algorithm.query.functions.none.example">Example</a>
<a name="id591828"></a>
<a href="none.html#fusion.algorithm.query.functions.none.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</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">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
@ -158,13 +161,13 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -173,7 +176,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../query.html" title="Query">
<link rel="prev" href="functions/count_if.html" title="count_if">
<link rel="next" href="metafunctions/any.html" title="any">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.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="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.query.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
</h4></div></div></div>
<a name="fusion.algorithm.query.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<div class="toc"><dl>
<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>
@ -38,7 +37,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -47,7 +46,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/any.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/count_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../query.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="metafunctions/any.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>all</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="any.html" title="any">
<link rel="next" href="none.html" title="none">
@ -12,32 +12,32 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="any.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="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.all"></a><a class="link" href="all.html" title="all">all</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1005630"></a>
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a>
<a name="id597048"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></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>
<a name="fusion.algorithm.query.metafunctions.all.synopsis"></a><h6>
<a name="id1005658"></a>
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a>
<a name="id597094"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1005744"></a><p class="title"><b>Table&#160;1.57.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id597214"></a><p class="title"><b>Table<EFBFBD>1.47.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,97 +56,102 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a>
</p>
</td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id1005870"></a>
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id597358"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="all.html" title="all"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<pre class="programlisting">
<a href="all.html" title="all"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">all</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">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/all.html" title="all"><tt class="computeroutput"><span class="identifier">all</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
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>.
</p>
<a name="fusion.algorithm.query.metafunctions.all.complexity"></a><h6>
<a name="id1005989"></a>
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a>
<a name="id597540"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.all.header"></a><h6>
<a name="id1006006"></a>
<a class="link" href="all.html#fusion.algorithm.query.metafunctions.all.header">Header</a>
<a name="id597568"></a>
<a href="all.html#fusion.algorithm.query.metafunctions.all.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -155,7 +160,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="any.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="none.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="any.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="none.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>any</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="all.html" title="all">
@ -12,32 +12,32 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.any"></a><a class="link" href="any.html" title="any">any</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1003216"></a>
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a>
<a name="id596343"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></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>
<a name="fusion.algorithm.query.metafunctions.any.synopsis"></a><h6>
<a name="id1003244"></a>
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a>
<a name="id596389"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1005242"></a><p class="title"><b>Table&#160;1.56.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id596508"></a><p class="title"><b>Table<EFBFBD>1.46.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,97 +56,102 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a>
</p>
</td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id1005368"></a>
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id596655"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="any.html" title="any"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<pre class="programlisting">
<a href="any.html" title="any"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">any</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">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<a href="../functions/any.html" title="any"><tt class="computeroutput"><span class="identifier">any</span></tt></a>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
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>.
</p>
<a name="fusion.algorithm.query.metafunctions.any.complexity"></a><h6>
<a name="id1005487"></a>
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a>
<a name="id596836"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.any.header"></a><h6>
<a name="id1005504"></a>
<a class="link" href="any.html#fusion.algorithm.query.metafunctions.any.header">Header</a>
<a name="id596865"></a>
<a href="any.html#fusion.algorithm.query.metafunctions.any.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -155,7 +160,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="all.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="all.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find_if.html" title="find_if">
<link rel="next" href="count_if.html" title="count_if">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find_if.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="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count"></a><a class="link" href="count.html" title="count">count</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1008816"></a>
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a>
<a name="id600032"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count</span></code>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count</span></tt>
given the sequence and search types.
</p>
<a name="fusion.algorithm.query.metafunctions.count.synopsis"></a><h6>
<a name="id1008842"></a>
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a>
<a name="id600075"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1008928"></a><p class="title"><b>Table&#160;1.61.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id600196"></a><p class="title"><b>Table<EFBFBD>1.51.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,93 +57,96 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
heading Description
</p>
</th>
<p>
heading Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id1009051"></a>
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id600334"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="count.html" title="count"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
<pre class="programlisting">
<a href="count.html" title="count"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count</span></tt></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/count.html" title="count"><code class="computeroutput"><span class="identifier">count</span></code></a>. The return type is always
<code class="computeroutput"><span class="keyword">int</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<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>.
</p>
<a name="fusion.algorithm.query.metafunctions.count.complexity"></a><h6>
<a name="id1009142"></a>
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a>
<a name="id600478"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.count.header"></a><h6>
<a name="id1009159"></a>
<a class="link" href="count.html#fusion.algorithm.query.metafunctions.count.header">Header</a>
<a name="id600507"></a>
<a href="count.html#fusion.algorithm.query.metafunctions.count.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -152,7 +155,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find_if.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="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>count_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="count.html" title="count">
<link rel="next" href="../../transformation.html" title="Transformation">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="count.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="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a>
</h5></div></div></div>
<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.algorithm.query.metafunctions.count_if.description"></a><h6>
<a name="id1009287"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a>
<a name="id600696"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.description">Description</a>
</h6>
<p>
A metafunction that returns the result type of <code class="computeroutput"><span class="identifier">count_if</span></code>
A metafunction that returns the result type of <tt class="computeroutput"><span class="identifier">count_if</span></tt>
given the sequence and predicate types.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.synopsis"></a><h6>
<a name="id1009316"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a>
<a name="id600739"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pred</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1009402"></a><p class="title"><b>Table&#160;1.62.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id600861"></a><p class="title"><b>Table<EFBFBD>1.52.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,93 +57,96 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<p>
A unary function object
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id1009521"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id601001"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_if</span></code></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 class="programlisting">
<a href="count_if.html" title="count_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">count_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>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">int</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">int</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/count_if.html" title="count_if"><code class="computeroutput"><span class="identifier">count_if</span></code></a>. The return type is
always <code class="computeroutput"><span class="keyword">int</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns the return type of
<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>.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.complexity"></a><h6>
<a name="id1009621"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a>
<a name="id601157"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.count_if.header"></a><h6>
<a name="id1009640"></a>
<a class="link" href="count_if.html#fusion.algorithm.query.metafunctions.count_if.header">Header</a>
<a name="id601186"></a>
<a href="count_if.html#fusion.algorithm.query.metafunctions.count_if.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -152,7 +155,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../transformation.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="count.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="../../transformation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="none.html" title="none">
<link rel="next" href="find_if.html" title="find_if">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="none.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="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find"></a><a class="link" href="find.html" title="find">find</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1006633"></a>
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a>
<a name="id598468"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/find.html" title="find"><code class="computeroutput"><span class="identifier">find</span></code></a>, given the sequence and
search types.
Returns the result type of <tt class="computeroutput"><span class="identifier">find</span></tt>,
given the sequence and search types.
</p>
<a name="fusion.algorithm.query.metafunctions.find.synopsis"></a><h6>
<a name="id1006661"></a>
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a>
<a name="id598511"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1006746"></a><p class="title"><b>Table&#160;1.59.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id598629"></a><p class="title"><b>Table<EFBFBD>1.49.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,95 +57,98 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
Model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
Model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id1006867"></a>
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id598769"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="find.html" title="find"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</span></code></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 class="programlisting">
<a href="find.html" title="find"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find</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>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element of type <code class="computeroutput"><span class="identifier">T</span></code>
in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
<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>
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>
if there is no such element.
</p>
<a name="fusion.algorithm.query.metafunctions.find.complexity"></a><h6>
<a name="id1006999"></a>
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a>
<a name="id598972"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.complexity">Complexity</a>
</h6>
<p>
Linear, at most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.metafunctions.find.header"></a><h6>
<a name="id1007050"></a>
<a class="link" href="find.html#fusion.algorithm.query.metafunctions.find.header">Header</a>
<a name="id599055"></a>
<a href="find.html#fusion.algorithm.query.metafunctions.find.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -154,7 +157,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="none.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="none.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="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>find_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="find.html" title="find">
<link rel="next" href="count.html" title="count">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find.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="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a>
</h5></div></div></div>
<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.algorithm.query.metafunctions.find_if.description"></a><h6>
<a name="id1007178"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a>
<a name="id599245"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">find_if</span></code></a> given the sequence and
predicate types.
Returns the result type of <tt class="computeroutput"><span class="identifier">find_if</span></tt>
given the sequence and predicate types.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.synopsis"></a><h6>
<a name="id1007208"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a>
<a name="id599290"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pred</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1007293"></a><p class="title"><b>Table&#160;1.60.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id599409"></a><p class="title"><b>Table<EFBFBD>1.50.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,96 +57,99 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Operation's arguments
</p>
</td>
<p>
Operation's arguments
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id1008510"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id599557"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="find_if.html" title="find_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_if</span></code></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 class="programlisting">
<a href="find_if.html" title="find_if"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">find_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>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of the same iterator
category as the iterators of <code class="computeroutput"><span class="identifier">Sequence</span></code>.
<span class="bold"><b>Return type</b></span>: A model of the same iterator
category as the iterators of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns an iterator to the
first element in <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to true. Returns <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/end.html" title="end"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">end</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span></code> if there is no such element.
<span class="bold"><b>Semantics</b></span>: Returns an iterator to the
first element in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
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.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.complexity"></a><h6>
<a name="id1008639"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a>
<a name="id599762"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a class="link" href="../../../sequence/intrinsic/metafunctions/size.html" title="size"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">size</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">value</span></code> comparisons.
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.
</p>
<a name="fusion.algorithm.query.metafunctions.find_if.header"></a><h6>
<a name="id1008690"></a>
<a class="link" href="find_if.html#fusion.algorithm.query.metafunctions.find_if.header">Header</a>
<a name="id599844"></a>
<a href="find_if.html#fusion.algorithm.query.metafunctions.find_if.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">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 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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -155,7 +158,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="find.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="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>none</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="all.html" title="all">
<link rel="next" href="find.html" title="find">
@ -12,32 +12,32 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="all.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="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.query.metafunctions.none"></a><a class="link" href="none.html" title="none">none</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1006132"></a>
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a>
<a name="id597752"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></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>
<a name="fusion.algorithm.query.metafunctions.none.synopsis"></a><h6>
<a name="id1006159"></a>
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a>
<a name="id597798"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1006246"></a><p class="title"><b>Table&#160;1.58.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id597918"></a><p class="title"><b>Table<EFBFBD>1.48.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,97 +56,102 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">F</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a>
</p>
</td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id1006372"></a>
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression
<a name="fusion.algorithm.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id598063"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="none.html" title="none"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span>
<pre class="programlisting">
<a href="none.html" title="none"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">none</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">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: <code class="computeroutput"><span class="keyword">bool</span></code>.
<span class="bold"><b>Return type</b></span>: <tt class="computeroutput"><span class="keyword">bool</span></tt>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns the return type of
<a class="link" href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>
given a sequence of type <code class="computeroutput"><span class="identifier">Sequence</span></code>
and a unary <a class="link" href="../../../functional/concepts/poly.html" title="Polymorphic Function Object">Polymorphic
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
<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>
given a sequence of type <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and a unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
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>.
</p>
<a name="fusion.algorithm.query.metafunctions.none.complexity"></a><h6>
<a name="id1006490"></a>
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a>
<a name="id598247"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.query.metafunctions.none.header"></a><h6>
<a name="id1006507"></a>
<a class="link" href="none.html#fusion.algorithm.query.metafunctions.none.header">Header</a>
<a name="id598276"></a>
<a href="none.html#fusion.algorithm.query.metafunctions.none.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">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>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -155,7 +160,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="all.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="all.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="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Transformation</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../algorithm.html" title="Algorithm">
<link rel="prev" href="query/metafunctions/count_if.html" title="count_if">
<link rel="next" href="transformation/functions.html" title="Functions">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/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="../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>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="fusion.algorithm.transformation"></a><a class="link" href="transformation.html" title="Transformation">Transformation</a>
</h3></div></div></div>
<a name="fusion.algorithm.transformation"></a><a href="transformation.html" title="Transformation">Transformation</a></h3></div></div></div>
<div class="toc"><dl>
<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>
@ -37,26 +36,27 @@
</p>
<div class="note"><table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../doc/src/images/note.png"></td>
<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 align="left" valign="top"><p>
<tr><td colspan="2" align="left" valign="top"><p>
As the transformation algorithms return views onto their input arguments,
it is important that the lifetime of the input arguments is greater than
the period during which you wish to use the results.
</p></td></tr>
</table></div>
<a name="fusion.algorithm.transformation.header"></a><h5>
<a name="id1009779"></a>
<a class="link" href="transformation.html#fusion.algorithm.transformation.header">Header</a>
</h5>
<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>
<a name="fusion.algorithm.transformation.header"></a><h4>
<a name="id601396"></a>
<a href="transformation.html#fusion.algorithm.transformation.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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -65,7 +65,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="query/metafunctions/count_if.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithm.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformation/functions.html"><img src="../../../../../../doc/src/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="../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>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Functions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="../transformation.html" title="Transformation">
<link rel="next" href="functions/filter.html" title="filter">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.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="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.functions"></a><a class="link" href="functions.html" title="Functions">Functions</a>
</h4></div></div></div>
<a name="fusion.algorithm.transformation.functions"></a><a href="functions.html" title="Functions">Functions</a></h4></div></div></div>
<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_if.html">filter_if</a></span></dt>
@ -50,7 +49,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -59,7 +58,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="functions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../transformation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.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="functions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="reverse.html" title="reverse">
<link rel="next" href="erase.html" title="erase">
@ -12,39 +12,39 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.clear"></a><a class="link" href="clear.html" title="clear">clear</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1018590"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a>
<a name="id610950"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.description">Description</a>
</h6>
<p>
<a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></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>
<a name="fusion.algorithm.transformation.functions.clear.synposis"></a><h6>
<a name="id1018621"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a>
<a name="id610998"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">typename</span> <a class="link" href="../metafunctions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></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>
<div class="table">
<a name="id1018729"></a><p class="title"><b>Table&#160;1.72.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id611155"></a><p class="title"><b>Table<EFBFBD>1.62.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -52,80 +52,85 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id1018815"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id611259"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Expression Semantics</strong></span>: Returns a sequence
<span class="bold"><b>Expression Semantics</b></span>: Returns a sequence
with no elements.
</p>
<a name="fusion.algorithm.transformation.functions.clear.complexity"></a><h6>
<a name="id1018878"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a>
<a name="id611357"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.functions.clear.header"></a><h6>
<a name="id1018897"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.header">Header</a>
<a name="id611386"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.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">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.clear.example"></a><h6>
<a name="id1019012"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a>
<a name="id611557"></a>
<a href="clear.html#fusion.algorithm.transformation.functions.clear.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">());</span>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -134,7 +139,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="clear.html" title="clear">
<link rel="next" href="erase_key.html" title="erase_key">
@ -12,37 +12,37 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase"></a><a class="link" href="erase.html" title="erase">erase</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1021163"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a>
<a name="id611719"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.description">Description</a>
</h6>
<p>
Returns a new sequence, containing all the elements of the original except
those at a specified iterator, or between two iterators.
</p>
<a name="fusion.algorithm.transformation.functions.erase.synposis"></a><h6>
<a name="id1021184"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a>
<a name="id611752"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">First</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</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="keyword">template</span><span class="special">&lt;</span>
@ -50,12 +50,12 @@
<span class="keyword">typename</span> <span class="identifier">First</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Last</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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="keyword">const</span><span class="special">,</span> <span class="identifier">First</span><span class="special">,</span> <span class="identifier">Last</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase</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>
<div class="table">
<a name="id1021517"></a><p class="title"><b>Table&#160;1.73.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id612214"></a><p class="title"><b>Table<EFBFBD>1.63.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -63,155 +63,142 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameters
</p>
</th>
<p>
Parameters
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">it1</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">it1</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">it2</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">it2</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
after <code class="computeroutput"><span class="identifier">it1</span></code>
</p>
</td>
<p>
Iterator into <tt class="computeroutput"><span class="identifier">seq</span></tt>
after <tt class="computeroutput"><span class="identifier">it1</span></tt>
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id1021699"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id612441"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">pos</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
except the element at <code class="computeroutput"><span class="identifier">pos</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
except the element at <tt class="computeroutput"><span class="identifier">pos</span></tt>.
</p>
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></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 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">first</span><span class="special">,</span> <span class="identifier">last</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, with
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, except those in the range [<code class="computeroutput"><span class="identifier">first</span></code>,<code class="computeroutput"><span class="identifier">last</span></code>).
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, with
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>).
</p>
<a name="fusion.algorithm.transformation.functions.erase.complexity"></a><h6>
<a name="id1021924"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a>
<a name="id612699"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.erase.header"></a><h6>
<a name="id1021943"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.header">Header</a>
<a name="id612730"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.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">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.erase.example"></a><h6>
<a name="id1022058"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a>
<a name="id612899"></a>
<a href="erase.html#fusion.algorithm.transformation.functions.erase.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../sequence/intrinsic/functions/end.html" title="end"><code class="computeroutput"><span class="identifier">end</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">))</span> <span class="special">==</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<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="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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -220,7 +207,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase.html" title="erase">
<link rel="next" href="insert.html" title="insert">
@ -12,45 +12,46 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.erase_key.description"></a><h6>
<a name="id1022362"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a>
<a name="id613354"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.description">Description</a>
</h6>
<p>
For an <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>]
<a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
<code class="computeroutput"><span class="identifier">seq</span></code>, returns a <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">associative</a>]
<a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward Sequence</a>
containing all the elements of the original except those with a given
key.
For an <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a> <tt class="computeroutput"><span class="identifier">seq</span></tt>,
returns a <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> containing all the elements of the original except those
with a given key.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.synposis"></a><h6>
<a name="id1022410"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a>
<a name="id613416"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Key</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></a><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>
<div class="table">
<a name="id1022539"></a><p class="title"><b>Table&#160;1.74.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id613589"></a><p class="title"><b>Table<EFBFBD>1.64.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,102 +59,105 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Key</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Key</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Key to erase
</p>
</td>
<p>
Key to erase
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id1022664"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id613729"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
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>.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.complexity"></a><h6>
<a name="id1022752"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a>
<a name="id613861"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.erase_key.header"></a><h6>
<a name="id1022773"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.header">Header</a>
<a name="id613891"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.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">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.erase_key.example"></a><h6>
<a name="id1022893"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a>
<a name="id614061"></a>
<a href="erase_key.html#fusion.algorithm.transformation.functions.erase_key.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></a><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><a class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></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 class="link" href="../../../container/generation/functions/make_map.html" title="make_map"><code class="computeroutput"><span class="identifier">make_map</span></code></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 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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -162,7 +166,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="../functions.html" title="Functions">
<link rel="next" href="filter_if.html" title="filter_if">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter"></a><a class="link" href="filter.html" title="filter">filter</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1009909"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a>
<a name="id601596"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.description">Description</a>
</h6>
<p>
For a given sequence, filter returns a new sequences containing only
the elements of a specified type.
</p>
<a name="fusion.algorithm.transformation.functions.filter.synopsis"></a><h6>
<a name="id1009930"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a>
<a name="id601629"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></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>
<div class="table">
<a name="id1010060"></a><p class="title"><b>Table&#160;1.63.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id601814"></a><p class="title"><b>Table<EFBFBD>1.53.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,113 +54,107 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to retain
</p>
</td>
<p>
The type to retain
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id1010180"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id601952"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
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>.
</p>
<a name="fusion.algorithm.transformation.functions.filter.complexity"></a><h6>
<a name="id1010348"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a>
<a name="id602167"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.filter.header"></a><h6>
<a name="id1010367"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.header">Header</a>
<a name="id602199"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.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">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.filter.example"></a><h6>
<a name="id1010485"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a>
<a name="id602368"></a>
<a href="filter.html#fusion.algorithm.transformation.functions.filter.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -169,7 +163,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../functions.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter.html" title="filter">
<link rel="next" href="transform.html" title="transform">
@ -12,42 +12,42 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.filter_if.description"></a><h6>
<a name="id1010669"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a>
<a name="id602635"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.description">Description</a>
</h6>
<p>
For a given sequence, <a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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
Lambda Expression</a> evaluates to <code 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></code>.
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>
<a name="fusion.algorithm.transformation.functions.filter_if.synopsis"></a><h6>
<a name="id1010726"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a>
<a name="id602726"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></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>
<div class="table">
<a name="id1010856"></a><p class="title"><b>Table&#160;1.64.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id602911"></a><p class="title"><b>Table<EFBFBD>1.54.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -55,115 +55,109 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
The predicate to filter by
</p>
</td>
<p>
The predicate to filter by
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id1010980"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id603059"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
with types for which <code class="computeroutput"><span class="identifier">Pred</span></code>
evaluates to <code 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></code>. The order of the retained elements
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
with types 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>. The order of the retained elements
is the same as in the original sequence.
</p>
<a name="fusion.algorithm.transformation.functions.filter_if.complexity"></a><h6>
<a name="id1011112"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a>
<a name="id603224"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.filter_if.header"></a><h6>
<a name="id1011133"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.header">Header</a>
<a name="id603255"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.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">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.filter_if.example"></a><h6>
<a name="id1011253"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a>
<a name="id603425"></a>
<a href="filter_if.html#fusion.algorithm.transformation.functions.filter_if.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -172,7 +166,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="erase_key.html" title="erase_key">
<link rel="next" href="insert_range.html" title="insert_range">
@ -12,43 +12,42 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert"></a><a class="link" href="insert.html" title="insert">insert</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1023029"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a>
<a name="id614267"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.description">Description</a>
</h6>
<p>
Returns a new sequence with all the elements of the original, an a new
element inserted the position described by a given iterator.
</p>
<a name="fusion.algorithm.transformation.functions.insert.synposis"></a><h6>
<a name="id1023050"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a>
<a name="id614299"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pos</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</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>
<div class="table">
<a name="id1023246"></a><p class="title"><b>Table&#160;1.75.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id614489"></a><p class="title"><b>Table<EFBFBD>1.65.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,124 +55,127 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">pos</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">pos</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to insert
</p>
</td>
<p>
The value to insert
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id1023404"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id614674"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, and a new element with the type and value of
<code class="computeroutput"><span class="identifier">t</span></code> inserted at iterator
<code class="computeroutput"><span class="identifier">pos</span></code>.
<tt class="computeroutput"><span class="identifier">t</span></tt> inserted at iterator
<tt class="computeroutput"><span class="identifier">pos</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.insert.complexity"></a><h6>
<a name="id1023510"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a>
<a name="id614828"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.insert.header"></a><h6>
<a name="id1023530"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.header">Header</a>
<a name="id614859"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.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">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.insert.example"></a><h6>
<a name="id1023647"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a>
<a name="id615028"></a>
<a href="insert.html#fusion.algorithm.transformation.functions.insert.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -182,7 +184,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert.html" title="insert">
<link rel="next" href="join.html" title="join">
@ -12,43 +12,43 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.insert_range.description"></a><h6>
<a name="id1023840"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a>
<a name="id615320"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.description">Description</a>
</h6>
<p>
Returns a new sequence with another sequence inserted at a specified
iterator.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.synposis"></a><h6>
<a name="id1023860"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a>
<a name="id615353"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pos</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Range</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">insert_range</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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="keyword">const</span><span class="special">,</span> <span class="identifier">Pos</span><span class="special">,</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">insert_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>
<div class="table">
<a name="id1024058"></a><p class="title"><b>Table&#160;1.76.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id615625"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,133 +56,129 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">pos</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">pos</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">range</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">range</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Range to insert
</p>
</td>
<p>
Range to insert
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id1024220"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id615818"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and the elements of <code class="computeroutput"><span class="identifier">range</span></code>
inserted at iterator <code class="computeroutput"><span class="identifier">pos</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and the elements of <tt class="computeroutput"><span class="identifier">range</span></tt>
inserted at iterator <tt class="computeroutput"><span class="identifier">pos</span></tt>.
All elements retaining their ordering from the orignal sequences.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.complexity"></a><h6>
<a name="id1024344"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a>
<a name="id615978"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.insert_range.header"></a><h6>
<a name="id1024364"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.header">Header</a>
<a name="id616008"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.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">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.insert_range.example"></a><h6>
<a name="id1024484"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a>
<a name="id616178"></a>
<a href="insert_range.html#fusion.algorithm.transformation.functions.insert_range.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <a class="link" href="../../../iterator/functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><a class="link" href="../../../sequence/intrinsic/functions/begin.html" title="begin"><code class="computeroutput"><span class="identifier">begin</span></code></a><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span> <a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -191,7 +187,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="insert_range.html" title="insert_range">
<link rel="next" href="zip.html" title="zip">
@ -12,40 +12,40 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.join"></a><a class="link" href="join.html" title="join">join</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1024706"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a>
<a name="id616509"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.description">Description</a>
</h6>
<p>
Takes 2 sequences and returns a sequence containing the elements of the
first followed by the elements of the second.
</p>
<a name="fusion.algorithm.transformation.functions.join.synopsis"></a><h6>
<a name="id1024725"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a>
<a name="id616541"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">RhSequence</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></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>
<div class="table">
<a name="id1024868"></a><p class="title"><b>Table&#160;1.77.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id616748"></a><p class="title"><b>Table<EFBFBD>1.67.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -53,116 +53,110 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">lhs</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">lhs</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">rhs</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">rhs</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a><h6>
<a name="id1024991"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.join.expression_semantics"></a><h6>
<a name="id616895"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></a><span class="special">(</span><span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">rhs</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">lhs</span></code>
and <code class="computeroutput"><span class="identifier">rhs</span></code> implement the
<a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
all the elements of <code class="computeroutput"><span class="identifier">lhs</span></code>
followed by all the elements of <code class="computeroutput"><span class="identifier">rhs</span></code>.
The order of the elements is preserved.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">lhs</span></tt>
followed by all the elements of <tt class="computeroutput"><span class="identifier">rhs</span></tt>.
The order of th elements is preserved.
</p>
<a name="fusion.algorithm.transformation.functions.join.complexity"></a><h6>
<a name="id1025110"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a>
<a name="id617027"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.join.header"></a><h6>
<a name="id1025129"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.header">Header</a>
<a name="id617058"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.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">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.join.example"></a><h6>
<a name="id1025244"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a>
<a name="id617227"></a>
<a href="join.html#fusion.algorithm.transformation.functions.join.example">Example</a>
</h6>
<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">join</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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="../../../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>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -171,7 +165,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="zip.html" title="zip">
<link rel="next" href="pop_front.html" title="pop_front">
@ -12,39 +12,39 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.pop_back.description"></a><h6>
<a name="id1026366"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a>
<a name="id618843"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.description">Description</a>
</h6>
<p>
Returns a new sequence, with the last element of the original removed.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.synopsis"></a><h6>
<a name="id1026387"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a>
<a name="id618875"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">typename</span> <a class="link" href="../metafunctions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></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>
<div class="table">
<a name="id1026495"></a><p class="title"><b>Table&#160;1.79.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id619032"></a><p class="title"><b>Table<EFBFBD>1.69.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -52,93 +52,87 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id1026582"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id619134"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except the last element. The elements in the new sequence are in the
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.complexity"></a><h6>
<a name="id1026685"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a>
<a name="id619256"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.pop_back.header"></a><h6>
<a name="id1026707"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.header">Header</a>
<a name="id619288"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_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">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.pop_back.example"></a><h6>
<a name="id1026827"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a>
<a name="id619459"></a>
<a href="pop_back.html#fusion.algorithm.transformation.functions.pop_back.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><span class="identifier">___pop_back__</span><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">));</span>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -147,7 +141,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_back.html" title="pop_back">
<link rel="next" href="push_back.html" title="push_back">
@ -12,39 +12,39 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.pop_front.description"></a><h6>
<a name="id1026941"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a>
<a name="id619633"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.description">Description</a>
</h6>
<p>
Returns a new sequence, with the first element of the original removed.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.synopsis"></a><h6>
<a name="id1026962"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a>
<a name="id619664"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">typename</span> <a class="link" href="../metafunctions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></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>
<div class="table">
<a name="id1027070"></a><p class="title"><b>Table&#160;1.80.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id619821"></a><p class="title"><b>Table<EFBFBD>1.70.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -52,93 +52,87 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id1027157"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id619925"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
except the first element. The elements in the new sequence are in the
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
same order as they were in <tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.complexity"></a><h6>
<a name="id1027260"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a>
<a name="id620049"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.pop_front.header"></a><h6>
<a name="id1027281"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.header">Header</a>
<a name="id620078"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.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 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">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>
<a name="fusion.algorithm.transformation.functions.pop_front.example"></a><h6>
<a name="id1027401"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a>
<a name="id620248"></a>
<a href="pop_front.html#fusion.algorithm.transformation.functions.pop_front.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -147,7 +141,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="pop_front.html" title="pop_front">
<link rel="next" href="push_front.html" title="push_front">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.push_back.description"></a><h6>
<a name="id1027520"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a>
<a name="id620429"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the end.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.synopsis"></a><h6>
<a name="id1027542"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a>
<a name="id620462"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></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> <span class="identifier">push_back</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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> <span class="identifier">push_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="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1028850"></a><p class="title"><b>Table&#160;1.81.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id620670"></a><p class="title"><b>Table<EFBFBD>1.71.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,104 +54,106 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the end
</p>
</td>
<p>
The value to add to the end
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id1028969"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id620812"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
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>.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.complexity"></a><h6>
<a name="id1029068"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a>
<a name="id620957"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.push_back.header"></a><h6>
<a name="id1029089"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.header">Header</a>
<a name="id620987"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.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 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">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>
<a name="fusion.algorithm.transformation.functions.push_back.example"></a><h6>
<a name="id1029209"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a>
<a name="id621158"></a>
<a href="push_back.html#fusion.algorithm.transformation.functions.push_back.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -160,7 +162,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="push_back.html" title="push_back">
<link rel="next" href="../metafunctions.html" title="Metafunctions">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/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="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.push_front.description"></a><h6>
<a name="id1029347"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a>
<a name="id621371"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the beginning.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.synopsis"></a><h6>
<a name="id1029366"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a>
<a name="id621404"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></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> <span class="identifier">push_front</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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> <span class="identifier">push_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="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1029516"></a><p class="title"><b>Table&#160;1.82.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id621613"></a><p class="title"><b>Table<EFBFBD>1.72.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,105 +54,107 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">t</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the beginning
</p>
</td>
<p>
The value to add to the beginning
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id1029635"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id621753"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">t</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
and new element <code class="computeroutput"><span class="identifier">t</span></code> appended
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
and new element <tt class="computeroutput"><span class="identifier">t</span></tt> appended
to the beginning. The elements are in the same order as they were in
<code class="computeroutput"><span class="identifier">seq</span></code>.
<tt class="computeroutput"><span class="identifier">seq</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.complexity"></a><h6>
<a name="id1029734"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a>
<a name="id621898"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.push_front.header"></a><h6>
<a name="id1029755"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.header">Header</a>
<a name="id621928"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.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 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">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>
<a name="fusion.algorithm.transformation.functions.push_front.example"></a><h6>
<a name="id1029875"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a>
<a name="id622098"></a>
<a href="push_front.html#fusion.algorithm.transformation.functions.push_front.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -161,7 +163,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../metafunctions.html"><img src="../../../../../../../../doc/src/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="../functions.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="../metafunctions.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace_if.html" title="replace_if">
<link rel="next" href="remove_if.html" title="remove_if">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove"></a><a class="link" href="remove.html" title="remove">remove</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1015658"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a>
<a name="id608092"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.description">Description</a>
</h6>
<p>
Returns a new sequence, with all the elements of the original sequence,
except those of a given type.
</p>
<a name="fusion.algorithm.transformation.functions.remove.synopsis"></a><h6>
<a name="id1015680"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a>
<a name="id608125"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></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>
<div class="table">
<a name="id1015809"></a><p class="title"><b>Table&#160;1.69.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id608310"></a><p class="title"><b>Table<EFBFBD>1.59.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,113 +54,107 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to remove
</p>
</td>
<p>
Type to remove
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id1015929"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id608448"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
in their original order, except those of type <code class="computeroutput"><span class="identifier">T</span></code>.
Equivalent to <code class="computeroutput"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</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>.
</p>
<a name="fusion.algorithm.transformation.functions.remove.complexity"></a><h6>
<a name="id1016917"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a>
<a name="id608665"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.remove.header"></a><h6>
<a name="id1016936"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.header">Header</a>
<a name="id608696"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.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">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.remove.example"></a><h6>
<a name="id1017054"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a>
<a name="id608866"></a>
<a href="remove.html#fusion.algorithm.transformation.functions.remove.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -169,7 +163,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove.html" title="remove">
<link rel="next" href="reverse.html" title="reverse">
@ -12,41 +12,41 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.remove_if.description"></a><h6>
<a name="id1017201"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a>
<a name="id609084"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.description">Description</a>
</h6>
<p>
Returns a new sequence, containing all the elements of the original except
those where a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
those where a given unary function object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.synopsis"></a><h6>
<a name="id1017230"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a>
<a name="id609129"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Pred</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></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>
<div class="table">
<a name="id1017360"></a><p class="title"><b>Table&#160;1.70.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id609314"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -54,115 +54,109 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Removal predicate
</p>
</td>
<p>
Removal predicate
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id1017485"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id609461"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
in their original order, except those elements with types for which
<code class="computeroutput"><span class="identifier">Pred</span></code> evaluates to <code 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></code>. Equivalent to <code class="computeroutput"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></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></code>.
<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>.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.complexity"></a><h6>
<a name="id1017673"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a>
<a name="id609711"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.remove_if.header"></a><h6>
<a name="id1017695"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.header">Header</a>
<a name="id609740"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.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">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.remove_if.example"></a><h6>
<a name="id1017815"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a>
<a name="id609910"></a>
<a href="remove_if.html#fusion.algorithm.transformation.functions.remove_if.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">const</span> <a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">));</span>
<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="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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -171,7 +165,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="transform.html" title="transform">
<link rel="next" href="replace_if.html" title="replace_if">
@ -12,42 +12,42 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace"></a><a class="link" href="replace.html" title="replace">replace</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1014001"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a>
<a name="id605769"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.description">Description</a>
</h6>
<p>
Replaces each value within a sequence of a given type and value with
a new value.
</p>
<a name="fusion.algorithm.transformation.functions.replace.synopsis"></a><h6>
<a name="id1014022"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a>
<a name="id605801"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace</span></code></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="keyword">typename</span> <a href="../metafunctions/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="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="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>
<div class="table">
<a name="id1014196"></a><p class="title"><b>Table&#160;1.67.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id606045"></a><p class="title"><b>Table<EFBFBD>1.57.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -55,123 +55,127 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>, <code class="computeroutput"><span class="identifier">e</span>
<span class="special">==</span> <span class="identifier">old_value</span></code>
is a valid expression, convertible to <code class="computeroutput"><span class="keyword">bool</span></code>,
for each element <code class="computeroutput"><span class="identifier">e</span></code>
in <code class="computeroutput"><span class="identifier">seq</span></code> with
type convertible to <code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
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>,
for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
in <tt class="computeroutput"><span class="identifier">seq</span></tt> with type
convertible to <tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">old_value</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">old_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Value to replace
</p>
</td>
<p>
Value to replace
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">new_value</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id1014397"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id606294"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
all the values of <code class="computeroutput"><span class="identifier">seq</span></code>
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the values of <tt class="computeroutput"><span class="identifier">seq</span></tt>
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>.
</p>
<a name="fusion.algorithm.transformation.functions.replace.complexity"></a><h6>
<a name="id1014498"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a>
<a name="id606450"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.replace.header"></a><h6>
<a name="id1014519"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.header">Header</a>
<a name="id606482"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.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">replace</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.replace.example"></a><h6>
<a name="id1014639"></a>
<a class="link" href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a>
<a name="id606652"></a>
<a href="replace.html#fusion.algorithm.transformation.functions.replace.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span><span class="number">3</span><span class="special">));</span>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -180,7 +184,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>replace_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="replace.html" title="replace">
<link rel="next" href="remove.html" title="remove">
@ -12,43 +12,43 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.replace_if"></a><a class="link" href="replace_if.html" title="replace_if">replace_if</a>
</h5></div></div></div>
<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.algorithm.transformation.functions.replace_if.description"></a><h6>
<a name="id1014765"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a>
<a name="id606847"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.description">Description</a>
</h6>
<p>
Replaces each element of a given sequence for which an unary function
object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>
object evaluates to <tt class="computeroutput"><span class="keyword">true</span></tt>
replaced with a new value.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.synopsis"></a><h6>
<a name="id1014792"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a>
<a name="id606892"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</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> <span class="identifier">replace_if</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/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="keyword">const</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> <span class="identifier">replace_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="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>
<div class="table">
<a name="id1014980"></a><p class="title"><b>Table&#160;1.68.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id607151"></a><p class="title"><b>Table<EFBFBD>1.58.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,117 +56,121 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
A function object for which <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> is a valid expression, convertible
to <code class="computeroutput"><span class="keyword">bool</span></code>, for each
element <code class="computeroutput"><span class="identifier">e</span></code> in
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
A function object for which <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
element <tt class="computeroutput"><span class="identifier">e</span></tt> in <tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">new_value</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">new_value</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id1015173"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id607390"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>,
with <code class="computeroutput"><span class="identifier">new_value</span></code> assigned
to each element for which <code class="computeroutput"><span class="identifier">f</span></code>
evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>,
with <tt class="computeroutput"><span class="identifier">new_value</span></tt> assigned
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>.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.complexity"></a><h6>
<a name="id1015281"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a>
<a name="id607558"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.replace_if.header"></a><h6>
<a name="id1015303"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.header">Header</a>
<a name="id607587"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.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">replace_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.replace_if.example"></a><h6>
<a name="id1015423"></a>
<a class="link" href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a>
<a name="id607757"></a>
<a href="replace_if.html#fusion.algorithm.transformation.functions.replace_if.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">odd</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">odd</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">bool</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">)</span> <span class="keyword">const</span>
@ -175,12 +179,12 @@
<span class="special">}</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -189,7 +193,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>reverse</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="remove_if.html" title="remove_if">
<link rel="next" href="clear.html" title="clear">
@ -12,39 +12,39 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.reverse"></a><a class="link" href="reverse.html" title="reverse">reverse</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1017981"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a>
<a name="id610158"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.description">Description</a>
</h6>
<p>
Returns a new sequence with the elements of the original in reverse order.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.synposis"></a><h6>
<a name="id1018003"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a>
<a name="id610190"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.synposis">Synposis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">typename</span> <a class="link" href="../metafunctions/reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">reverse</span></code></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>
<div class="table">
<a name="id1018111"></a><p class="title"><b>Table&#160;1.71.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id610346"></a><p class="title"><b>Table<EFBFBD>1.61.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -52,97 +52,86 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id1018197"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id610450"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
is a <a class="link" href="../../../sequence/concepts/bidirectional_sequence.html" title="Bidirectional Sequence">Bidirectional
Sequence</a> else, <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
is a <a class="link" href="../../../sequence/concepts/random_access_sequence.html" title="Random Access Sequence">Random
Access Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">seq</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence containing
all the elements of <code class="computeroutput"><span class="identifier">seq</span></code>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence containing
all the elements of <tt class="computeroutput"><span class="identifier">seq</span></tt>
in reverse order.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.complexity"></a><h6>
<a name="id1018322"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a>
<a name="id610558"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.reverse.header"></a><h6>
<a name="id1018344"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.header">Header</a>
<a name="id610589"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.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">reverse</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.reverse.example"></a><h6>
<a name="id1018464"></a>
<a class="link" href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a>
<a name="id610758"></a>
<a href="reverse.html#fusion.algorithm.transformation.functions.reverse.example">Example</a>
</h6>
<pre class="programlisting"><span class="identifier">assert</span><span class="special">(</span><a class="link" href="reverse.html" title="reverse"><code class="computeroutput"><span class="identifier">reverse</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -151,7 +140,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="clear.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="clear.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>transform</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="filter_if.html" title="filter_if">
<link rel="next" href="replace.html" title="replace">
@ -12,46 +12,46 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.transform"></a><a class="link" href="transform.html" title="transform">transform</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1011456"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a>
<a name="id603720"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.description">Description</a>
</h6>
<p>
For a sequence <code class="computeroutput"><span class="identifier">seq</span></code> and
function object or function pointer <code class="computeroutput"><span class="identifier">f</span></code>,
<code class="computeroutput"><span class="identifier">transform</span></code> returns a new
sequence with elements created by applying <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> to each element of <code class="computeroutput"><span class="identifier">e</span></code>
of <code class="computeroutput"><span class="identifier">seq</span></code>.
For a sequence <tt class="computeroutput"><span class="identifier">seq</span></tt> and
function object or function pointer <tt class="computeroutput"><span class="identifier">f</span></tt>,
<tt class="computeroutput"><span class="identifier">transform</span></tt> returns a new
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>.
</p>
<a name="fusion.algorithm.transformation.functions.transform.unary_version_synopsis"></a><h6>
<a name="id1011529"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary
<a name="id603838"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.unary_version_synopsis">Unary
version synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</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">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</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>
<div class="table">
<a name="id1011671"></a><p class="title"><b>Table&#160;1.65.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id604044"></a><p class="title"><b>Table<EFBFBD>1.55.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -59,96 +59,99 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code>
is a valid expression for each element <code class="computeroutput"><span class="identifier">e</span></code>
of <code class="computeroutput"><span class="identifier">seq</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)&gt;::</span><span class="identifier">type</span></code>
is the return type of <code class="computeroutput"><span class="identifier">f</span></code>
when called with a value of each element type <code class="computeroutput"><span class="identifier">E</span></code>.
</p>
</td>
<p>
<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 for each element <tt class="computeroutput"><span class="identifier">e</span></tt>
of <tt class="computeroutput"><span class="identifier">seq</span></tt>. <tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><span class="identifier">F</span><span class="special">(</span><span class="identifier">E</span><span class="special">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with a value of
each element type <tt class="computeroutput"><span class="identifier">E</span></tt>.
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id1011878"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id604317"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">f</span><span class="special">);</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
the return values of <code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">e</span><span class="special">)</span></code> for each element <code class="computeroutput"><span class="identifier">e</span></code>
within <code class="computeroutput"><span class="identifier">seq</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
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>.
</p>
<a name="fusion.algorithm.transformation.functions.transform.binary_version_synopsis"></a><h6>
<a name="id1011978"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary
<a name="id604476"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.binary_version_synopsis">Binary
version synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">F</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/transform.html" title="transform"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</span><span class="special">(</span>
<span class="keyword">typename</span> <a href="../metafunctions/transform.html" title="transform"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">transform</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">F</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">transform</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>
<div class="table">
<a name="id1012168"></a><p class="title"><b>Table&#160;1.66.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id604743"></a><p class="title"><b>Table<EFBFBD>1.56.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -156,112 +159,115 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq1</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq1</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq2</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq2</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">f</span></tt>
</p>
</td>
<td>
<p>
<code 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></code>
is a valid expression for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code>
and <code class="computeroutput"><span class="identifier">e2</span></code> of
<code class="computeroutput"><span class="identifier">seq2</span></code>. <code class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></code>
is the return type of <code class="computeroutput"><span class="identifier">f</span></code>
when called with elements of type <code class="computeroutput"><span class="identifier">E1</span></code>
and <code class="computeroutput"><span class="identifier">E2</span></code>
</p>
</td>
<p>
<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>
is a valid expression for each pair of elements <tt class="computeroutput"><span class="identifier">e1</span></tt>
of <tt class="computeroutput"><span class="identifier">seq1</span></tt> and <tt class="computeroutput"><span class="identifier">e2</span></tt> of <tt class="computeroutput"><span class="identifier">seq2</span></tt>.
<tt class="computeroutput"><a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top"><tt class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></tt></a><span class="special">&lt;</span><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">)&gt;::</span><span class="identifier">type</span></tt> is the return type of <tt class="computeroutput"><span class="identifier">f</span></tt> when called with elements of
type <tt class="computeroutput"><span class="identifier">E1</span></tt> and <tt class="computeroutput"><span class="identifier">E2</span></tt>
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence, containing
the return values of <code 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></code> for each pair of elements <code class="computeroutput"><span class="identifier">e1</span></code> and <code class="computeroutput"><span class="identifier">e2</span></code>
within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence, containing
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.
</p>
<a name="fusion.algorithm.transformation.functions.transform.complexity"></a><h6>
<a name="id1012528"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a>
<a name="id605230"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.transform.header"></a><h6>
<a name="id1012549"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.header">Header</a>
<a name="id605260"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.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">transform</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.transform.example"></a><h6>
<a name="id1012669"></a>
<a class="link" href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a>
<a name="id605430"></a>
<a href="transform.html#fusion.algorithm.transformation.functions.transform.example">Example</a>
</h6>
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">triple</span>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">triple</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">result_type</span><span class="special">;</span>
@ -271,12 +277,12 @@
<span class="special">};</span>
<span class="special">};</span>
<span class="special">...</span>
<span class="identifier">assert</span><span class="special">(</span><a class="link" href="transform.html" title="transform"><code class="computeroutput"><span class="identifier">transform</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></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="../../../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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -285,7 +291,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>zip</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../functions.html" title="Functions">
<link rel="prev" href="join.html" title="join">
<link rel="next" href="pop_back.html" title="pop_back">
@ -12,44 +12,44 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.functions.zip"></a><a class="link" href="zip.html" title="zip">zip</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1025460"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a>
<a name="id617543"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.description">Description</a>
</h6>
<p>
Zips sequences together to form a single sequence, whos members are tuples
of the members of the component sequences.
</p>
<a name="fusion.algorithm.transformation.functions.zip.synopsis"></a><h6>
<a name="id1025480"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a>
<a name="id617576"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">Sequence1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Sequence2</span><span class="special">,</span>
<span class="special">...</span>
<span class="keyword">typename</span> <span class="identifier">SequenceN</span>
<span class="special">&gt;</span>
<span class="keyword">typename</span> <a class="link" href="../metafunctions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</span>
<span class="keyword">typename</span> <a href="../metafunctions/zip.html" title="zip"><tt class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">zip</span></tt></a><span class="special">&lt;</span><span class="identifier">Sequence1</span><span class="special">,</span> <span class="identifier">Sequence2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span><span class="special">&gt;::</span><span class="identifier">type</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>
<div class="table">
<a name="id1025682"></a><p class="title"><b>Table&#160;1.78.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id617860"></a><p class="title"><b>Table<EFBFBD>1.68.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,88 +57,93 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">seq1</span></tt> to <tt class="computeroutput"><span class="identifier">seqN</span></tt>
</p>
</td>
<td>
<p>
Each sequence is a model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</p>
</td>
<p>
Each sequence is a model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id1025775"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression
<a name="fusion.algorithm.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id617976"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
tuples of elements from sequences <code class="computeroutput"><span class="identifier">seq1</span></code>
to <code class="computeroutput"><span class="identifier">seqN</span></code>. For example,
applying zip to tuples <code class="computeroutput"><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></code>
and <code class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></code>
would return <code 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></code>
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
tuples of elements from sequences <tt class="computeroutput"><span class="identifier">seq1</span></tt>
to <tt class="computeroutput"><span class="identifier">seqN</span></tt>. For example,
applying zip to tuples <tt class="computeroutput"><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></tt>
and <tt class="computeroutput"><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">,</span>
<span class="char">'c'</span><span class="special">)</span></tt>
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>
</p>
<a name="fusion.algorithm.transformation.functions.zip.complexity"></a><h6>
<a name="id1025989"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a>
<a name="id618285"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithm.transformation.functions.zip.header"></a><h6>
<a name="id1026008"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.header">Header</a>
<a name="id618316"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.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">zip</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
<a name="fusion.algorithm.transformation.functions.zip.example"></a><h6>
<a name="id1026123"></a>
<a class="link" href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a>
<a name="id618485"></a>
<a href="zip.html#fusion.algorithm.transformation.functions.zip.example">Example</a>
</h6>
<pre class="programlisting"><a class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="../../../container/vector.html" title="vector"><code class="computeroutput"><span class="identifier">vector</span></code></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 class="link" href="zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></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 class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">),</span><a class="link" href="../../../container/generation/functions/make_vector.html" title="make_vector"><code class="computeroutput"><span class="identifier">make_vector</span></code></a><span class="special">(</span><span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span><span class="special">));</span>
<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="../../../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>
<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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -147,7 +152,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="join.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../functions.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="pop_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Metafunctions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../transformation.html" title="Transformation">
<link rel="prev" href="functions/push_front.html" title="push_front">
<link rel="next" href="metafunctions/filter.html" title="filter">
@ -12,20 +12,19 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.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="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.algorithm.transformation.metafunctions"></a><a class="link" href="metafunctions.html" title="Metafunctions">Metafunctions</a>
</h4></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions"></a><a href="metafunctions.html" title="Metafunctions">Metafunctions</a></h4></div></div></div>
<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_if.html">filter_if</a></span></dt>
@ -50,7 +49,7 @@
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -59,7 +58,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="metafunctions/filter.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="functions/push_front.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../transformation.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="metafunctions/filter.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>clear</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="reverse.html" title="reverse">
<link rel="next" href="erase.html" title="erase">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="reverse.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="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.clear"></a><a class="link" href="clear.html" title="clear">clear</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1037825"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a>
<a name="id629486"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.synopsis"></a><h6>
<a name="id1037856"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a>
<a name="id629535"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">clear</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1037930"></a><p class="title"><b>Table&#160;1.92.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id629637"></a><p class="title"><b>Table<EFBFBD>1.82.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,72 +56,75 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id1038013"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id629733"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">clear</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence.
<span class="bold"><b>Semantics</b></span>: Returns an empty sequence.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.complexity"></a><h6>
<a name="id1038085"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a>
<a name="id629847"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.clear.header"></a><h6>
<a name="id1038106"></a>
<a class="link" href="clear.html#fusion.algorithm.transformation.metafunctions.clear.header">Header</a>
<a name="id629877"></a>
<a href="clear.html#fusion.algorithm.transformation.metafunctions.clear.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">clear</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -130,7 +133,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="reverse.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="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="clear.html" title="clear">
<link rel="next" href="erase_key.html" title="erase_key">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="clear.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="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a class="link" href="erase.html" title="erase">erase</a>
</h5></div></div></div>
<a name="fusion.algorithm.transformation.metafunctions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<p>
Returns the result type of <a class="link" href="../functions/erase.html" title="erase"><code class="computeroutput"><span class="identifier">erase</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.description"></a><h6>
<a name="id1038250"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a>
<a name="id630092"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.description">Description</a>
</h6>
<a name="fusion.algorithm.transformation.metafunctions.erase.synopsis"></a><h6>
<a name="id1038268"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a>
<a name="id630118"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">It1</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">It2</span> <span class="special">=</span> <span class="emphasis"><em>unspecified</em></span><span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1038376"></a><p class="title"><b>Table&#160;1.93.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id630263"></a><p class="title"><b>Table<EFBFBD>1.83.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,134 +57,131 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">It1</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">It1</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">It2</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">It2</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id1038537"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id630457"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
the element at <code class="computeroutput"><span class="identifier">It1</span></code> removed.
</p>
<pre class="programlisting"><a class="link" href="erase.html" title="erase"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase</span></code></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>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a new sequence with
the elements between <code class="computeroutput"><span class="identifier">It1</span></code>
and <code class="computeroutput"><span class="identifier">It2</span></code> removed.
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the element at <tt class="computeroutput"><span class="identifier">It1</span></tt> removed.
</p>
<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">,</span> <span class="identifier">It2</span><span class="special">&gt;::</span><span class="identifier">type</span>
</pre>
<p>
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<p>
<span class="bold"><b>Semantics</b></span>: Returns a new sequence with
the elements between <tt class="computeroutput"><span class="identifier">It1</span></tt>
and <tt class="computeroutput"><span class="identifier">It2</span></tt> removed.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.complexity"></a><h6>
<a name="id1038742"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a>
<a name="id630726"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase.header"></a><h6>
<a name="id1038764"></a>
<a class="link" href="erase.html#fusion.algorithm.transformation.metafunctions.erase.header">Header</a>
<a name="id630756"></a>
<a href="erase.html#fusion.algorithm.transformation.metafunctions.erase.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">erase</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -193,7 +190,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="clear.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="erase_key.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="clear.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="erase_key.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>erase_key</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase.html" title="erase">
<link rel="next" href="insert.html" title="insert">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase.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="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.erase_key"></a><a class="link" href="erase_key.html" title="erase_key">erase_key</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.erase_key.description"></a><h6>
<a name="id1038892"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a>
<a name="id630950"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">erase_key</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.synopsis"></a><h6>
<a name="id1038920"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
<a name="id631000"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1039005"></a><p class="title"><b>Table&#160;1.94.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id631120"></a><p class="title"><b>Table<EFBFBD>1.84.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,96 +57,98 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Key</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Key</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Key type
</p>
</td>
<p>
Key type
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id1039129"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id631260"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="erase_key.html" title="erase_key"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a> and <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>.
</p>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>,
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>,
except those with key <tt class="computeroutput"><span class="identifier">Key</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.complexity"></a><h6>
<a name="id1039226"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a>
<a name="id631408"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.erase_key.header"></a><h6>
<a name="id1039245"></a>
<a class="link" href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.header">Header</a>
<a name="id631439"></a>
<a href="erase_key.html#fusion.algorithm.transformation.metafunctions.erase_key.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">erase_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -155,7 +157,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase.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="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="../metafunctions.html" title="Metafunctions">
<link rel="next" href="filter_if.html" title="filter_if">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter"></a><a class="link" href="filter.html" title="filter">filter</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1030024"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a>
<a name="id622330"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/filter.html" title="filter"><code class="computeroutput"><span class="identifier">filter</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.synopsis"></a><h6>
<a name="id1030053"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a>
<a name="id622380"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1030140"></a><p class="title"><b>Table&#160;1.83.&#160;Parameter</b></p>
<div class="table-contents"><table class="table" summary="Parameter">
<a name="id622499"></a><p class="title"><b>Table<EFBFBD>1.73.<EFBFBD>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
<col>
@ -57,107 +57,100 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id1030260"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id622640"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="filter.html" title="filter"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
that are of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
that are 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">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>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.complexity"></a><h6>
<a name="id1030461"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a>
<a name="id622900"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter.header"></a><h6>
<a name="id1030482"></a>
<a class="link" href="filter.html#fusion.algorithm.transformation.metafunctions.filter.header">Header</a>
<a name="id622931"></a>
<a href="filter.html#fusion.algorithm.transformation.metafunctions.filter.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">filter</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -166,7 +159,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="filter_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../metafunctions.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="filter_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>filter_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="filter.html" title="filter">
<link rel="next" href="transform.html" title="transform">
@ -12,34 +12,34 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter.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="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.filter_if"></a><a class="link" href="filter_if.html" title="filter_if">filter_if</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.filter_if.description"></a><h6>
<a name="id1030611"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a>
<a name="id623123"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">filter_if</span></code></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
Lambda Expression</a> predicate type.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id1030642"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
<a name="id623182"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pred</span>
<span class="special">&gt;</span>
@ -49,8 +49,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1030727"></a><p class="title"><b>Table&#160;1.84.&#160;Parameter</b></p>
<div class="table-contents"><table class="table" summary="Parameter">
<a name="id623303"></a><p class="title"><b>Table<EFBFBD>1.74.<EFBFBD>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
<col>
@ -58,107 +58,100 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id1030852"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id623448"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="filter_if.html" title="filter_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">filter_if</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to <code 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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
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>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.complexity"></a><h6>
<a name="id1030995"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a>
<a name="id623632"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.filter_if.header"></a><h6>
<a name="id1031014"></a>
<a class="link" href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.header">Header</a>
<a name="id623663"></a>
<a href="filter_if.html#fusion.algorithm.transformation.metafunctions.filter_if.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">filter_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -167,7 +160,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="filter.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="filter.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="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="erase_key.html" title="erase_key">
<link rel="next" href="insert_range.html" title="insert_range">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase_key.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="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert"></a><a class="link" href="insert.html" title="insert">insert</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1039373"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a>
<a name="id631635"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/insert.html" title="insert"><code class="computeroutput"><span class="identifier">insert</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.synopsis"></a><h6>
<a name="id1039402"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a>
<a name="id631686"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Position</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">T</span>
@ -49,8 +49,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1039503"></a><p class="title"><b>Table&#160;1.95.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id631823"></a><p class="title"><b>Table<EFBFBD>1.85.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,116 +58,118 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Position</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Position</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id1039659"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id632008"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="insert.html" title="insert"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with an
element of type <code class="computeroutput"><span class="identifier">T</span></code> inserted
at position <code class="computeroutput"><span class="identifier">Position</span></code>
in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence with an
element of type <tt class="computeroutput"><span class="identifier">T</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
in <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.complexity"></a><h6>
<a name="id1039778"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a>
<a name="id632180"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert.header"></a><h6>
<a name="id1039799"></a>
<a class="link" href="insert.html#fusion.algorithm.transformation.metafunctions.insert.header">Header</a>
<a name="id632209"></a>
<a href="insert.html#fusion.algorithm.transformation.metafunctions.insert.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">insert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -176,7 +178,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="erase_key.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="insert_range.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="erase_key.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="insert_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>insert_range</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert.html" title="insert">
<link rel="next" href="join.html" title="join">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert.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="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.insert_range"></a><a class="link" href="insert_range.html" title="insert_range">insert_range</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.insert_range.description"></a><h6>
<a name="id1039933"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a>
<a name="id632401"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">insert_range</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.synopsis"></a><h6>
<a name="id1039959"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
<a name="id632452"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Position</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">Range</span>
@ -49,8 +49,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1040057"></a><p class="title"><b>Table&#160;1.96.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id632591"></a><p class="title"><b>Table<EFBFBD>1.86.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,125 +58,120 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Position</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Position</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../iterator/concepts/forward_iterator.html" title="Forward Iterator">Forward
Iterator</a>
</p>
</td>
<p>
A model of <a href="../../../iterator/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Range</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Range</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id1040287"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id632785"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="insert_range.html" title="insert_range"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">insert_range</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Range</span></code> inserted
at position <code class="computeroutput"><span class="identifier">Position</span></code>
into <code class="computeroutput"><span class="identifier">Sequence</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Range</span></tt> inserted
at position <tt class="computeroutput"><span class="identifier">Position</span></tt>
into <tt class="computeroutput"><span class="identifier">Sequence</span></tt>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.complexity"></a><h6>
<a name="id1040425"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a>
<a name="id632959"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.insert_range.header"></a><h6>
<a name="id1040442"></a>
<a class="link" href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.header">Header</a>
<a name="id632992"></a>
<a href="insert_range.html#fusion.algorithm.transformation.metafunctions.insert_range.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">insert_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -185,7 +180,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert.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="join.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>join</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="insert_range.html" title="insert_range">
<link rel="next" href="zip.html" title="zip">
@ -12,32 +12,32 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert_range.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="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.join"></a><a class="link" href="join.html" title="join">join</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1040570"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a>
<a name="id633185"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.description">Description</a>
</h6>
<p>
Returns the result of joining 2 sequences, given the sequence types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.synopsis"></a><h6>
<a name="id1040592"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a>
<a name="id633218"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<span class="keyword">template</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">LhSequence</span><span class="special">,</span>
<span class="keyword">typename</span> <span class="identifier">RhSequence</span>
<span class="special">&gt;</span>
@ -47,52 +47,43 @@
<span class="special">};</span>
</pre>
<a name="fusion.algorithm.transformation.metafunctions.join.expression_semantics"></a><h6>
<a name="id1040683"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression
<a name="id633347"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="join.html" title="join"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">join</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">LhSequence</span></code>
amd <code class="computeroutput"><span class="identifier">RhSequence</span></code> implement
the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">LhSequence</span></code>
followed by the elements of <code class="computeroutput"><span class="identifier">RhSequence</span></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">LhSequence</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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.complexity"></a><h6>
<a name="id1040814"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a>
<a name="id633497"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.join.header"></a><h6>
<a name="id1040835"></a>
<a class="link" href="join.html#fusion.algorithm.transformation.metafunctions.join.header">Header</a>
<a name="id633527"></a>
<a href="join.html#fusion.algorithm.transformation.metafunctions.join.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">join</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -101,7 +92,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="insert_range.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="zip.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="insert_range.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="zip.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="zip.html" title="zip">
<link rel="next" href="pop_front.html" title="pop_front">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="zip.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="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_back"></a><a class="link" href="pop_back.html" title="pop_back">pop_back</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.pop_back.description"></a><h6>
<a name="id1041467"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a>
<a name="id634437"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">pop_back</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.synopsis"></a><h6>
<a name="id1041495"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
<a name="id634487"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">pop_back</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1041570"></a><p class="title"><b>Table&#160;1.97.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id634590"></a><p class="title"><b>Table<EFBFBD>1.87.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,86 +56,79 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id1041656"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id634693"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="pop_back.html" title="pop_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_back</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the last element.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.complexity"></a><h6>
<a name="id1041762"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a>
<a name="id634821"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_back.header"></a><h6>
<a name="id1041781"></a>
<a class="link" href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_back.header">Header</a>
<a name="id634852"></a>
<a href="pop_back.html#fusion.algorithm.transformation.metafunctions.pop_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">pop_back</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -144,7 +137,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="zip.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pop_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="zip.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="pop_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>pop_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_back.html" title="pop_back">
<link rel="next" href="push_back.html" title="push_back">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_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="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.pop_front"></a><a class="link" href="pop_front.html" title="pop_front">pop_front</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.pop_front.description"></a><h6>
<a name="id1041909"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a>
<a name="id635044"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">pop_front</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.synopsis"></a><h6>
<a name="id1041936"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
<a name="id635094"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">pop_front</span>
@ -47,8 +47,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1042008"></a><p class="title"><b>Table&#160;1.98.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id635197"></a><p class="title"><b>Table<EFBFBD>1.88.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -56,86 +56,74 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id1042094"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id635300"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="pop_front.html" title="pop_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">pop_front</span></code></a><span class="special">&lt;</span><span class="identifier">Sequence</span><span class="special">&gt;::</span><span class="identifier">type</span>
<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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with all
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with all
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
except the first element.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.complexity"></a><h6>
<a name="id1042200"></a>
<a class="link" href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a>
<a name="id635427"></a>
<a href="pop_front.html#fusion.algorithm.transformation.metafunctions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.pop_front.header"></a><h6>
<a name="id1042219"></a>
<a class="link" href="pop_front.html#fusion.algorithm.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>
<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>
<p>
/algorithm/transformation/pop_front.hpp&gt;
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -144,7 +132,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_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="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_back</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="pop_front.html" title="pop_front">
<link rel="next" href="push_front.html" title="push_front">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_front.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="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.push_back.description"></a><h6>
<a name="id1042347"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a>
<a name="id635486"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">push_back</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.synopsis"></a><h6>
<a name="id1042374"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a>
<a name="id635538"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1044234"></a><p class="title"><b>Table&#160;1.99.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id635658"></a><p class="title"><b>Table<EFBFBD>1.89.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,98 +57,94 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id1044353"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id635798"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="push_back.html" title="push_back"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_back</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the end.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.complexity"></a><h6>
<a name="id1044453"></a>
<a class="link" href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a>
<a name="id635947"></a>
<a href="push_back.html#fusion.algorithm.transformation.metafunctions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_back.header"></a><h6>
<a name="id1044472"></a>
<a class="link" href="push_back.html#fusion.algorithm.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>
<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>
<p>
/algorithm/transformation/push_back.hpp&gt;
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -157,7 +153,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="pop_front.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="pop_front.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="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>push_front</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="push_back.html" title="push_back">
<link rel="next" href="../../../tuple.html" title="Tuple">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/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="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.push_front.description"></a><h6>
<a name="id1044605"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a>
<a name="id636005"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">push_front</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.synopsis"></a><h6>
<a name="id1044632"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a>
<a name="id636057"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1044717"></a><p class="title"><b>Table&#160;1.100.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id636176"></a><p class="title"><b>Table<EFBFBD>1.90.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,98 +57,94 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id1044836"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id636317"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="push_front.html" title="push_front"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li></ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence with the
elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
and an element of type <code class="computeroutput"><span class="identifier">T</span></code>
<span class="bold"><b>Semantics</b></span>: Returns a sequence with the
elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
and an element of type <tt class="computeroutput"><span class="identifier">T</span></tt>
added to the beginning.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.complexity"></a><h6>
<a name="id1044938"></a>
<a class="link" href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a>
<a name="id636466"></a>
<a href="push_front.html#fusion.algorithm.transformation.metafunctions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.push_front.header"></a><h6>
<a name="id1044957"></a>
<a class="link" href="push_front.html#fusion.algorithm.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>
<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>
<p>
/algorithm/transformation/push_front.hpp&gt;
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -157,7 +153,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../../tuple.html"><img src="../../../../../../../../doc/src/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="../../../tuple.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="replace_if.html" title="replace_if">
<link rel="next" href="remove_if.html" title="remove_if">
@ -12,33 +12,33 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace_if.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="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove"></a><a class="link" href="remove.html" title="remove">remove</a>
</h5></div></div></div>
<a name="fusion.algorithm.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="id1036210"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a>
<a name="id627330"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/remove.html" title="remove"><code class="computeroutput"><span class="identifier">remove</span></code></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.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.synopsis"></a><h6>
<a name="id1036240"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a>
<a name="id627380"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">T</span>
<span class="special">&gt;</span>
@ -48,8 +48,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1036327"></a><p class="title"><b>Table&#160;1.89.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id627499"></a><p class="title"><b>Table<EFBFBD>1.79.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -57,107 +57,100 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">T</span></tt>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<p>
Any type
</p>
</td>
<td>
<p>
Remove elements of this type
</p>
</td>
<p>
Remove elements of this type
</p>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id1036446"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id627638"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="remove.html" title="remove"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
not of type <code class="computeroutput"><span class="identifier">T</span></code>. Equivalent
to <code class="computeroutput"><a class="link" href="replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">replace_if</span></code></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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
not of type <tt class="computeroutput"><span class="identifier">T</span></tt>. Equivalent
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>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.complexity"></a><h6>
<a name="id1036649"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a>
<a name="id627898"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove.header"></a><h6>
<a name="id1036670"></a>
<a class="link" href="remove.html#fusion.algorithm.transformation.metafunctions.remove.header">Header</a>
<a name="id627928"></a>
<a href="remove.html#fusion.algorithm.transformation.metafunctions.remove.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">remove</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -166,7 +159,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="replace_if.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="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>remove_if</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Fusion 2.0">
<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<EFBFBD>1.<2E>Fusion 2.0">
<link rel="up" href="../metafunctions.html" title="Metafunctions">
<link rel="prev" href="remove.html" title="remove">
<link rel="next" href="reverse.html" title="reverse">
@ -12,34 +12,34 @@
<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.html">Home</a></td>
<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></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="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove.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="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="section" lang="en">
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithm.transformation.metafunctions.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a>
</h5></div></div></div>
<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.algorithm.transformation.metafunctions.remove_if.description"></a><h6>
<a name="id1036799"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a>
<a name="id628121"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.description">Description</a>
</h6>
<p>
Returns the result type of <a class="link" href="../functions/remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">remove_if</span></code></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
Lambda Expression</a> predicate types.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id1036830"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
<a name="id628179"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
<pre class="programlisting">
<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">Pred</span>
<span class="special">&gt;</span>
@ -49,8 +49,8 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1036915"></a><p class="title"><b>Table&#160;1.90.&#160;Parameters</b></p>
<div class="table-contents"><table class="table" summary="Parameters">
<a name="id628299"></a><p class="title"><b>Table<EFBFBD>1.80.<EFBFBD>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
<col>
@ -58,107 +58,100 @@
</colgroup>
<thead><tr>
<th>
<p>
Parameter
</p>
</th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Sequence</span></tt>
</p>
</td>
<td>
<p>
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>
</p>
</td>
<p>
A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<p>
<tt class="computeroutput"><span class="identifier">Pred</span></tt>
</p>
</td>
<td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<p>
A model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
Lambda Expression</a>
</p>
</td>
<td>
<p>
Remove elements which evaluate to <code 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></code>
</p>
</td>
<p>
Remove elements which evaluate 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>
</td>
</tr>
</tbody>
</table></div>
</table>
</div>
<br class="table-break"><a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id1037062"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression
<a name="fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id628477"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting"><a class="link" href="remove_if.html" title="remove_if"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">remove_if</span></code></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 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>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>:
<span class="bold"><b>Return type</b></span>: A model of <a href="../../../sequence/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/forward_sequence.html" title="Forward Sequence">Forward
Sequence</a>.
</li>
<li class="listitem">
A model of <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> if <code class="computeroutput"><span class="identifier">Sequence</span></code>
implements the <a class="link" href="../../../sequence/concepts/associative_sequence.html" title="Associative Sequence">Associative
Sequence</a> model.
</li>
</ul></div>
<p>
<span class="bold"><strong>Semantics</strong></span>: Returns a sequence containing
the elements of <code class="computeroutput"><span class="identifier">Sequence</span></code>
for which <code class="computeroutput"><span class="identifier">Pred</span></code> evaluates
to <code 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></code>.
<span class="bold"><b>Semantics</b></span>: Returns a sequence containing
the elements of <tt class="computeroutput"><span class="identifier">Sequence</span></tt>
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>.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.complexity"></a><h6>
<a name="id1037204"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a>
<a name="id628662"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithm.transformation.metafunctions.remove_if.header"></a><h6>
<a name="id1037224"></a>
<a class="link" href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.header">Header</a>
<a name="id628692"></a>
<a href="remove_if.html#fusion.algorithm.transformation.metafunctions.remove_if.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">remove_if</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<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">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>
</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 &#169; 2001-2007 Joel de Guzman, Dan Marsden, Tobias
<td align="right"><div class="copyright-footer">Copyright <EFBFBD> 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>)
@ -167,7 +160,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../metafunctions.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="remove.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="reverse.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