revises function object concepts and functional module documenation to reflect

boost::result_of-based result computation


[SVN r38209]
This commit is contained in:
Tobias Schwinger
2007-07-13 19:25:34 +00:00
parent f05493abf0
commit 9df373af5f
227 changed files with 10684 additions and 4457 deletions

View File

@ -174,7 +174,7 @@ Applies a unary function object to each element of a sequence.
[table Parameters
[[Parameter][Requirement][Description]]
[[`seq`][A model of __forward_sequence__, `f(e)` must be a valid expression for each element `e` in `seq`][Operation's argument]]
[[`f`][A unary function object][Operation's argument]]
[[`f`][A unary __reg_callable_obj__][Operation's argument]]
]
[heading Expression Semantics]

View File

@ -19,7 +19,7 @@ __sequence__, introducing yet another function provides a solution:
invoke(f,my_sequence)
Alternatively it's possible to apply a simple transformation to [^f] in order
Alternatively it is possible to apply a simple transformation to [^f] in order
to achieve the same effect:
f tuple <=> ``f'`` (tuple)
@ -66,44 +66,50 @@ returns an adapter instance for the given argument.
[section Concepts]
[section:callable Callable Object]
[heading Description]
A pointer to a function, a pointer to member function, a pointer to member
data, or a class type whose objects can appear immediately to the left of a
function call operator.
[/ TODO: note about TR1, link to current draft]
[heading Models]
* function pointer types
* member (function or data) pointer types
* all kinds of function objects
[endsect]
[section:poly Polymorphic Function Object]
[section:reg_callable Regular Callable Object]
[heading Description]
A type of function object with a nested metafunction `result`. `result`
returns the result type of calling the function object, given the argument
types.
A non-member-pointer __callable_obj__ type: A pointer to a function or a class
type whose objects can appear immediately to the left of a function call operator.
[heading Refinement of]
* __callable_obj__
[variablelist Notation
[[`F`][A Polymorphic Function Object type]]
[[`f`][A Polymorphic Function Object]]
[[`T1 ...TN`][Arbitrary types]]
[[`t1 ...tN`][Objects with types `T1 ...TN`]]
[[`F`][A possibly const qualified Deferred Callable Object type]]
[[`f`][An object or reference to an object of type F]]
[[`A1 ...AN`][Argument types]]
[[`a1 ...aN`][Objects or references to objects with types `A1 ...AN`]]
]
[heading Expression requirements]
[table
[[Expression][Return Type][Runtime Complexity]]
[[`f(t1, ...tN)`][`F::result<T1, ...TN>::type`][Unspecified]]
[[`f(a1, ...aN)`][Unspecified][Unspecified]]
]
[heading Models]
* all Fusion __functional_adapters__
* function pointer types
* all kinds of function objects
[endsect]
@ -112,29 +118,71 @@ types.
[heading Description]
__callable_obj__ that works with __boost_result_of__ to determine the result
of a call (such as the function objects provided by the standard library).
__callable_obj__ types that work with __boost_result_of__ to determine the
result of a call.
[heading Refinement of]
* __callable_obj__
[blurb note Once C++ supports the [^decltype] keyword, all models of
__callable_obj__ will also be models of __def_callable_obj__, because
function objects won't need client-side support for `result_of`.
]
[variablelist Notation
[[`F`][A Deferred Callable Object type]]
[[`T1 ...TN`][Arbitrary types]]
[[`F`][A possibly const qualified Deferred Callable Object type]]
[[`A1 ...AN`][Argument types]]
[[`a1 ...aN`][Objects or references to objects with types `A1 ...AN`]]
[[`T1 ...TN`][`T`i is `A`i `&` if `a`i is an __lvalue__, same as `A`i, otherwise]]
]
[heading Expression requirements]
[table
[[Expression][Type]]
[[__boost_result_of_call__`< F(T1 ...TN) >::type`][Unspecified]]
[[__boost_result_of_call__`< F(T1 ...TN) >::type`][Result of a call with `A1 ...AN`-typed arguments]]
]
[heading Models]
* __poly_func_obj__ types
* member (function or data) pointer types
[endsect]
[section:poly Polymorphic Function Object]
[heading Description]
A non-member-pointer __def_callable_obj__ type.
[heading Refinement of]
* __reg_callable_obj__
* __def_callable_obj__
[variablelist Notation
[[`F`][A possibly const-qualified Polymorphic Function Object type]]
[[`f`][An object or reference to an object of type F]]
[[`A1 ...AN`][Argument types]]
[[`a1 ...aN`][Objects or references to objects with types `A1 ...AN`]]
[[`T1 ...TN`][`T`i is `A`i `&` if `a`i is an __lvalue__, same as `A`i, otherwise]]
]
[heading Expression requirements]
[table
[[Expression][Return Type][Runtime Complexity]]
[[`f(a1, ...aN)`][`result_of< F(T1, ...TN) >::type`][Unspecified]]
]
[heading Models]
* function pointers
* function objects of the Standard Library
* all Fusion __functional_adapters__
[endsect]
[endsect]
[/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@ -149,10 +197,6 @@ of a call (such as the function objects provided by the standard library).
Calls a __def_callable_obj__ with the arguments from a __sequence__.
The corresponding metafunction, __result_of_invoke__ does not define a
`type` member for target functions of non-class type whose arity is not
satisfied by the size of the sequence.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
@ -216,10 +260,6 @@ the result of the call expression.
Calls a __callable_obj__ with the arguments from a __sequence__. The result
of the call is ignored.
The corresponding metafunction, __result_of_invoke_procedure, does not define
a `type` member for target functions of non-class type whose arity is not
satisfied by the size of the sequence.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
@ -285,10 +325,6 @@ implemented).
Calls a __poly_func_obj__ with the arguments from a __sequence__.
The corresponding metafunction, __result_of_invoke_function_object__, does
not define a `type` member, if the nested `result` class template of the
target function object is empty.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
@ -316,7 +352,7 @@ and/or to control the const qualification of a function object.
[heading Expression Semantics]
invoke_procedure(f,s);
invoke_function_object(f,s);
[*Return type]: Return type of `f` when invoked with the elements in `s` as its
arguments.
@ -330,11 +366,12 @@ result of the call expression.
[heading Example]
struct sub
{
template<typename T, typename _>
struct result
{
typedef T type;
};
template <typename Sig>
struct result;
template <class Self, typename T>
struct result< Self(T,T) >
{ typedef typename remove_reference<T>::type type; };
template<typename T>
T operator()(T lhs, T rhs) const
@ -366,9 +403,6 @@ result of the call expression.
[heading Description]
Returns the result type of __invoke__.
Empty for non-class target function types whose arity is not satisfied by
the size of the sequence.
[heading Synopsis]
namespace result_of
{
@ -393,9 +427,6 @@ the size of the sequence.
[heading Description]
Returns the result type of __invoke_procedure__.
Empty for non-class target function types whose arity is not satisfied by
the size of the sequence.
[heading Synopsis]
namespace result_of
{
@ -420,8 +451,6 @@ the size of the sequence.
[heading Description]
Returns the result type of __invoke_function_object__.
Empty if the target function's nested `result` class template is empty.
[heading Synopsis]
namespace result_of
{
@ -459,17 +488,13 @@ An unary __poly_func_obj__ adapter template for __def_callable_obj__ target
functions. It takes a __forward_sequence__ that contains the arguments for the
target function.
The nested `result` metafunction does not define a `type` member for target
functions of non-class type whose arity is not satisfied by the size of the
sequence.
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 for an
(in other words, only const versions of [^operator()] can be used for a
target function object that is const or, if the target function object
is held by value, the adapter is const - these semantics have nothing to
do with the const qualification of a member function, which is referring
to the type of object pointed to by [^this] that is specified with the
to the type of object pointed to by [^this] which is specified with the
first element in the sequence passed to the adapter).
If the target function is a pointer to a class members, the corresponding
@ -534,17 +559,15 @@ An unary __poly_func_obj__ adapter template for __callable_obj__ target
functions. It takes a __forward_sequence__ that contains the arguments for
the target function.
The result is discared and the adapter's return type is `void`. The nested
`result` metafunction does not define a `type` member for target functions
of non-class type whose arity is not satisfied by the size of the sequence.
The result is discared and the adapter's return type is `void`.
The type of the target function is allowed to be const qualified or a
reference. Const qualification is preserved and propagated appropriately
(in other words, only const versions of [^operator()] can be used for an
(in other words, only const versions of [^operator()] can be used for a
target function object that is const or, if the target function object
is held by value, the adapter is const - these semantics have nothing to
do with the const qualification of a member function, which is referring
to the type of object pointed to by [^this] that is specified with the
to the type of object pointed to by [^this] which is specified with the
first element in the sequence passed to the adapter).
If the target function is a pointer to a members function, the corresponding
@ -554,8 +577,8 @@ defined (Boost provides this function for [^std::auto_ptr] and
__boost_shared_ptr_call__).
The target function must not be a pointer to a member object (dereferencing
such a pointer without returning anything does not make sense, so it isn't
implemented).
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>
@ -625,8 +648,6 @@ An unary __poly_func_obj__ adapter template for a __poly_func_obj__ target
function. It takes a __forward_sequence__ that contains the arguments for the
target function.
The nested `result` metafunction is inhertied from the target function.
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 for an
@ -680,11 +701,12 @@ is held by value, the adapter is const).
struct sub
{
template<typename T, typename _>
struct result
{
typedef T type;
};
template <typename Sig>
struct result;
template <class Self, typename T>
struct result< Self(T,T) >
{ typedef typename remove_reference<T>::type type; };
template<typename T>
T operator()(T lhs, T rhs) const
@ -726,16 +748,6 @@ 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 overload set of the adapter's function call operator can be restricted
by removing the `type` member from the nested result metafunction of the
__poly_func_obj__ (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary case and nullary calls are explicitly
disabled by the library).
[caution As the nullary call operator cannot be a template it will be
instantiated along with the class template, so it must be disabled (as
described above) in cases where it isn't instantiable.]
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
@ -782,24 +794,27 @@ object is held by value, the adapter is const).
template <typename Function, typename T>
class fused_bound_1st
{
typename traits::__deduce__<Function>::type fnc_deferred;
typename traits::__deduce__<T>::type xxx_bound;
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 <class Seq>
struct result
: __result_of_invoke__< Function,
typename __result_of_push_front__<Seq, T>::type >
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<Seq>::type operator()(Seq const & s) const
typename result< void(Seq) >::type operator()(Seq const & s) const
{
return __invoke__(fnc_deferred, push_front(s,xxx_bound));
return invoke(fnc_deferred, push_front(s,xxx_bound));
}
};
@ -819,7 +834,7 @@ object is held by value, the adapter is const).
void try_it()
{
assert(bind_1st(& test_func,3)(-2,-1) == 0);
assert(bind_1st(__std_plus_doc__<float>(), 1)(0.5f) == 1.5f);
assert(bind_1st(std::plus<float>(), 1)(0.5f) == 1.5f);
}
[heading See also]
@ -841,16 +856,6 @@ 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 overload set of the adapter's function call operator can be restricted
by removing the `type` member from the nested result metafunction of the
__poly_func_obj__ (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
[caution As the nullary call operator cannot be a template it will be
instantiated along with the class template, so it must be disabled (as
described above) in cases where it isn't instantiable.]
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
@ -933,16 +938,6 @@ 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 overload set of the adapter's function call operator can be restricted
by removing the `type` member from the nested result metafunction of the
__poly_func_obj__ (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
[caution As the nullary call operator cannot be a template it will be
instantiated along with the class template, so it must be disabled (as
described above) in cases where it isn't instantiable.]
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
@ -1029,16 +1024,6 @@ The call operators of the resulting function object are strictly typed
By default, call operators with zero to N parameters are generated to,
where N is the size of the __sequence__ that specifies the types.
The overload set of the adapter's function call operator can be restricted
by removing the `type` member from the nested result metafunction of the
__poly_func_obj__ (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
[caution As the function call operators are not templates, they are
instantiated along with the class template, so they must be disabled (as
described above) in cases where they are not instantiable.]
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
@ -1114,38 +1099,40 @@ signature is optimized automatically to avoid by-value parameters.]
: tie_dest(dest)
{ }
template <class Seq>
struct result
{
typedef void type;
};
typedef void result_type;
template <class Seq>
void operator()(Seq const & s) const
{
__for_each__(__zip__(tie_dest,s), __fused__<add_assign>() );
for_each( zip(tie_dest,s), fused<add_assign>() );
}
};
// accepts a tie and creates a typed function object from it
struct fused_parallel_adder_maker
{
template <class Seq>
struct result
template <typename Sig>
struct result;
template <class Self, class Seq>
struct result< Self(Seq) >
{
typedef unfused_typed<fused_parallel_adder<Seq>,
typename mpl::transform<Seq, remove_reference<_> >::type > type;
typedef typename remove_reference<Seq>::type seq;
typedef unfused_typed< fused_parallel_adder<seq>,
typename mpl::transform<seq, remove_reference<_> >::type > type;
};
template <class Seq>
typename result<Seq>::type operator()(Seq const & tie)
typename result< void(Seq) >::type operator()(Seq const & tie)
{
return typename result<Seq>::type(fused_parallel_adder<Seq>(tie));
return typename result< void(Seq) >::type(
fused_parallel_adder<Seq>(tie) );
}
};
__unfused_lvalue_args__<fused_parallel_adder_maker> parallel_add;
unfused_lvalue_args<fused_parallel_adder_maker> parallel_add;
int main()
void try_it()
{
int a = 2; char b = 'X';
// the second call is strictly typed with the types deduced from the
@ -1154,8 +1141,6 @@ signature is optimized automatically to avoid by-value parameters.]
parallel_add(a,b)(3);
parallel_add(a,b)();
assert(a == 8 && b == 'Z');
return 0;
}
[heading See also]
@ -1297,11 +1282,12 @@ The usual __element_conversion__ is applied to the target function.
[heading Example]
struct sub
{
template<typename T, typename _>
struct result
{
typedef T type;
};
template <typename Sig>
struct result;
template <class Self, typename T>
struct result< Self(T,T) >
{ typedef typename remove_reference<T>::type type; };
template<typename T>
T operator()(T lhs, T rhs) const
@ -1357,11 +1343,7 @@ The usual __element_conversion__ is applied to the target function.
[heading Example]
struct bottles_song
{
template<class Seq>
struct result
: mpl::if_< mpl::less< __result_of_size__<Seq>, mpl::int_<2> >,
boost::blank, mpl::identity<void> >::type
{ };
typedef void result_type;
template<class Seq>
void operator()(Seq & s) const

View File

@ -1,7 +1,7 @@
[library Fusion
[quickbook 1.3]
[version 2.0]
[authors [de Guzman, Joel], [Marsden, Dan]]
[authors [de Guzman, Joel], [Marsden, Dan], [Schwinger, Tobias]]
[copyright 2001 2002 2003 2004 2005 2006 2007 Joel de Guzman, Dan Marsden, Tobias Schwinger]
[purpose Statically Typed Heterogeneous Data Structures and Algorithms]
[license
@ -250,8 +250,9 @@
[def __tuple_get__ [link fusion.tuples.class_template_tuple.element_access `get`]]
[def __callable_obj__ [link fusion.functional.concepts.callable Callable Object]]
[def __poly_func_obj__ [link fusion.functional.concepts.poly Polymorphic Function Object]]
[def __def_callable_obj__ [link fusion.functional.concepts.def_callable Deferred Callable Object]]
[def __reg_callable_obj__ [link fusion.functional.concepts.reg_callable Regular Callable Object]]
[def __poly_func_obj__ [link fusion.functional.concepts.poly Polymorphic Function Object]]
[def __functional_adapters__ [link fusion.functional.adapters functional adapters]]
[def __fused__ [link fusion.functional.adapters.fused `fused`]]
[def __fused_procedure__ [link fusion.functional.adapters.fused_procedure `fused_procedure`]]

View File

@ -44,7 +44,7 @@
</dl></dd>
</dl></div>
<a name="fusion.algorithms.lazy_evaluation"></a><h3>
<a name="id1080224"></a>
<a name="id1113801"></a>
<a href="algorithms.html#fusion.algorithms.lazy_evaluation">Lazy Evaluation</a>
</h3>
<p>
@ -67,7 +67,7 @@
as we want without incurring a high runtime penalty.
</p>
<a name="fusion.algorithms.sequence_extension"></a><h3>
<a name="id1080352"></a>
<a name="id1113934"></a>
<a href="algorithms.html#fusion.algorithms.sequence_extension">Sequence Extension</a>
</h3>
<p>
@ -90,7 +90,7 @@
functions to convert back to the original sequence type.
</p>
<a name="fusion.algorithms.header"></a><h3>
<a name="id1080540"></a>
<a name="id1114134"></a>
<a href="algorithms.html#fusion.algorithms.header">Header</a>
</h3>
<pre class="programlisting">

View File

@ -34,7 +34,7 @@
a sequence repeatedly applying an operation to its elements.
</p>
<a name="fusion.algorithms.iteration.header"></a><h4>
<a name="id1080635"></a>
<a name="id1114231"></a>
<a href="iteration.html#fusion.algorithms.iteration.header">Header</a>
</h4>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.accumulate.description"></a><h6>
<a name="id1082037"></a>
<a name="id1115707"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.description">Description</a>
</h6>
<p>
@ -37,7 +37,7 @@
<a href="fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.functions.accumulate.synopsis"></a><h6>
<a name="id1082113"></a>
<a name="id1115786"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1082340"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<a name="id1116015"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,42 +58,86 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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">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></code> must be a valid expression for
each element <code class="computeroutput"><span class="identifier">e1</span></code> to
<code class="computeroutput"><span class="identifier">eN</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
<td>Operation's argument</td>
Sequence</a>, <code 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></code> must be a valid expression for
each element <code class="computeroutput"><span class="identifier">e1</span></code>
to <code class="computeroutput"><span class="identifier">eN</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">initial_state</span></code></td>
<td>Any
type</td>
<td>Initial state</td>
<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><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.functions.accumulate.expression_semantics"></a><h6>
<a name="id1082544"></a>
<a name="id1116278"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
@ -108,21 +152,21 @@
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.accumulate.complexity"></a><h6>
<a name="id1082551"></a>
<a name="id1116463"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/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>
<a name="fusion.algorithms.iteration.functions.accumulate.header"></a><h6>
<a name="id1082805"></a>
<a name="id1116547"></a>
<a href="accumulate.html#fusion.algorithms.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>
</pre>
<a name="fusion.algorithms.iteration.functions.accumulate.example"></a><h6>
<a name="id1082898"></a>
<a name="id1116642"></a>
<a href="accumulate.html#fusion.algorithms.iteration.functions.accumulate.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.fold.description"></a><h6>
<a name="id1080754"></a>
<a name="id1114351"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.description">Description</a>
</h6>
<p>
@ -36,7 +36,7 @@
to each element of a sequence and the previous state.
</p>
<a name="fusion.algorithms.iteration.functions.fold.synopsis"></a><h6>
<a name="id1080800"></a>
<a name="id1114398"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">State</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">initial_state</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1081026"></a><p class="title"><b>Table<EFBFBD>1.32.<2E>Parameters</b></p>
<a name="id1114626"></a><p class="title"><b>Table<EFBFBD>1.33.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,41 +57,85 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>Operation's argument</td>
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>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">initial_state</span></code></td>
<td>Any
type</td>
<td>Initial state</td>
<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><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.functions.fold.expression_semantics"></a><h6>
<a name="id1081174"></a>
<a name="id1114833"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.expression_semantics">Expression
Semantics</a>
</h6>
@ -106,21 +150,21 @@
where <code class="computeroutput"><span class="identifier">e1</span> <span class="special">...</span><span class="identifier">eN</span></code> are the elements of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.fold.complexity"></a><h6>
<a name="id1081354"></a>
<a name="id1115018"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/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>
<a name="fusion.algorithms.iteration.functions.fold.header"></a><h6>
<a name="id1081436"></a>
<a name="id1115102"></a>
<a href="fold.html#fusion.algorithms.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>
</pre>
<a name="fusion.algorithms.iteration.functions.fold.example"></a><h6>
<a name="id1081529"></a>
<a name="id1115197"></a>
<a href="fold.html#fusion.algorithms.iteration.functions.fold.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.functions.for_each"></a><a href="for_each.html" title="for_each">for_each</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.functions.for_each.description"></a><h6>
<a name="id1083403"></a>
<a name="id1117148"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.description">Description</a>
</h6>
<p>
Applies a unary function object to each element of a sequence.
</p>
<a name="fusion.algorithms.iteration.functions.for_each.synopsis"></a><h6>
<a name="id1083432"></a>
<a name="id1117177"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1101085"></a><p class="title"><b>Table<EFBFBD>1.34.<2E>Parameters</b></p>
<a name="id1117355"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,32 +53,68 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>Operation's argument</td>
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>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<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>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.functions.for_each.expression_semantics"></a><h6>
<a name="id1101210"></a>
<a name="id1117534"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
@ -93,21 +129,21 @@
in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.iteration.functions.for_each.complexity"></a><h6>
<a name="id1101342"></a>
<a name="id1117673"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/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>
<a name="fusion.algorithms.iteration.functions.for_each.header"></a><h6>
<a name="id1101424"></a>
<a name="id1117757"></a>
<a href="for_each.html#fusion.algorithms.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>
<a name="fusion.algorithms.iteration.functions.for_each.example"></a><h6>
<a name="id1101517"></a>
<a name="id1117852"></a>
<a href="for_each.html#fusion.algorithms.iteration.functions.for_each.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.metafunctions.accumulate"></a><a href="accumulate.html" title="accumulate">accumulate</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.description"></a><h6>
<a name="id1102482"></a>
<a name="id1136364"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/accumulate.html" title="accumulate"><code class="computeroutput"><span class="identifier">accumulate</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.synopsis"></a><h6>
<a name="id1102524"></a>
<a name="id1136407"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1102642"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<a name="id1136527"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,43 +55,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The sequence to iterate</td>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">State</span></code></td>
<td>Any
type</td>
<td>The initial state for the first application of
<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>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
</p>
</td>
<td>
<p>
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The operation to be applied
on forward traversal</td>
</p>
</td>
<td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics"></a><h6>
<a name="id1102762"></a>
<a name="id1136703"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.expression_semantics">Expression
Semantics</a>
</h6>
@ -111,14 +151,14 @@
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.complexity"></a><h6>
<a name="id1102917"></a>
<a name="id1136864"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/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>
<a name="fusion.algorithms.iteration.metafunctions.accumulate.header"></a><h6>
<a name="id1102998"></a>
<a name="id1136948"></a>
<a href="accumulate.html#fusion.algorithms.iteration.metafunctions.accumulate.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.iteration.metafunctions.fold"></a><a href="fold.html" title="fold">fold</a></h5></div></div></div>
<a name="fusion.algorithms.iteration.metafunctions.fold.description"></a><h6>
<a name="id1101854"></a>
<a name="id1118190"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/fold.html" title="fold"><code class="computeroutput"><span class="identifier">fold</span></code></a>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.fold.synopsis"></a><h6>
<a name="id1101896"></a>
<a name="id1118233"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1102014"></a><p class="title"><b>Table<EFBFBD>1.35.<2E>Parameters</b></p>
<a name="id1118353"></a><p class="title"><b>Table<EFBFBD>1.36.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,43 +55,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The sequence to iterate</td>
</p>
</td>
<td>
<p>
The sequence to iterate
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">State</span></code></td>
<td>Any
type</td>
<td>The initial state for the first application of
<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>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
</p>
</td>
<td>
<p>
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The operation to be applied
on forward traversal</td>
</p>
</td>
<td>
<p>
The operation to be applied on forward traversal
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.fold.expression_semantics"></a><h6>
<a name="id1102134"></a>
<a name="id1136005"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.expression_semantics">Expression
Semantics</a>
</h6>
@ -111,14 +151,14 @@
Function Object</a> of type <code class="computeroutput"><span class="identifier">F</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.fold.complexity"></a><h6>
<a name="id1102288"></a>
<a name="id1136166"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.complexity">Complexity</a>
</h6>
<p>
Linear, exactly <code class="computeroutput"><a href="../../../sequences/intrinsics/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>
<a name="fusion.algorithms.iteration.metafunctions.fold.header"></a><h6>
<a name="id1102369"></a>
<a name="id1136250"></a>
<a href="fold.html#fusion.algorithms.iteration.metafunctions.fold.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -30,11 +30,11 @@
return type of <a 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>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.description"></a><h6>
<a name="id1103153"></a>
<a name="id1137109"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.description">Description</a>
</h6>
<a name="fusion.algorithms.iteration.metafunctions.for_each.synopsis"></a><h6>
<a name="id1103177"></a>
<a name="id1137133"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1103283"></a><p class="title"><b>Table<EFBFBD>1.37.<2E>Parameters</b></p>
<a name="id1137240"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.iteration.metafunctions.for_each.expression_semantics"></a><h6>
<a name="id1103369"></a>
<a name="id1137365"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.expression_semantics">Expression
Semantics</a>
</h6>
@ -98,14 +131,14 @@
return type is always <code class="computeroutput"><span class="keyword">void</span></code>.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.complexity"></a><h6>
<a name="id1103520"></a>
<a name="id1137524"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.iteration.metafunctions.for_each.header"></a><h6>
<a name="id1103548"></a>
<a name="id1137552"></a>
<a href="for_each.html#fusion.algorithms.iteration.metafunctions.for_each.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -33,7 +33,7 @@
The query algorithms provide support for searching and analyzing sequences.
</p>
<a name="fusion.algorithms.query.header"></a><h4>
<a name="id1103665"></a>
<a name="id1137670"></a>
<a href="query.html#fusion.algorithms.query.header">Header</a>
</h4>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.all.description"></a><h6>
<a name="id1104777"></a>
<a name="id1138849"></a>
<a href="all.html#fusion.algorithms.query.functions.all.description">Description</a>
</h6>
<p>
@ -37,7 +37,7 @@
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.all.synopsis"></a><h6>
<a name="id1104850"></a>
<a name="id1138929"></a>
<a href="all.html#fusion.algorithms.query.functions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1105018"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<a name="id1139098"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,34 +57,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>The sequence
to search</td>
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>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.all.expression_semantics"></a><h6>
<a name="id1105152"></a>
<a name="id1139276"></a>
<a href="all.html#fusion.algorithms.query.functions.all.expression_semantics">Expression
Semantics</a>
</h6>
@ -101,21 +133,21 @@
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.all.complexity"></a><h6>
<a name="id1105294"></a>
<a name="id1139426"></a>
<a href="all.html#fusion.algorithms.query.functions.all.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.all.header"></a><h6>
<a name="id1105366"></a>
<a name="id1139500"></a>
<a href="all.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.all.example"></a><h6>
<a name="id1105458"></a>
<a name="id1139593"></a>
<a href="all.html#fusion.algorithms.query.functions.all.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.any.description"></a><h6>
<a name="id1103783"></a>
<a name="id1137790"></a>
<a href="any.html#fusion.algorithms.query.functions.any.description">Description</a>
</h6>
<p>
@ -37,7 +37,7 @@
least one element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.any.synopsis"></a><h6>
<a name="id1103857"></a>
<a name="id1137870"></a>
<a href="any.html#fusion.algorithms.query.functions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1104025"></a><p class="title"><b>Table<EFBFBD>1.38.<2E>Parameters</b></p>
<a name="id1138040"></a><p class="title"><b>Table<EFBFBD>1.39.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,34 +57,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>The sequence
to search</td>
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>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.any.expression_semantics"></a><h6>
<a name="id1104158"></a>
<a name="id1138218"></a>
<a href="any.html#fusion.algorithms.query.functions.any.expression_semantics">Expression
semantics</a>
</h6>
@ -101,21 +133,21 @@
element <code class="computeroutput"><span class="identifier">e</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.any.complexity"></a><h6>
<a name="id1104300"></a>
<a name="id1138368"></a>
<a href="any.html#fusion.algorithms.query.functions.any.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.any.header"></a><h6>
<a name="id1104373"></a>
<a name="id1138442"></a>
<a href="any.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.any.example"></a><h6>
<a name="id1104464"></a>
<a name="id1138535"></a>
<a href="any.html#fusion.algorithms.query.functions.any.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.count.description"></a><h6>
<a name="id1108690"></a>
<a name="id1143001"></a>
<a href="count.html#fusion.algorithms.query.functions.count.description">Description</a>
</h6>
<p>
Returns the number of elements of a given type within a sequence.
</p>
<a name="fusion.algorithms.query.functions.count.synopsis"></a><h6>
<a name="id1108719"></a>
<a name="id1143030"></a>
<a href="count.html#fusion.algorithms.query.functions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1108901"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<a name="id1143213"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,35 +53,67 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>The
sequence to search</td>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to count</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to count
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.count.expression_semantics"></a><h6>
<a name="id1109032"></a>
<a name="id1143389"></a>
<a href="count.html#fusion.algorithms.query.functions.count.expression_semantics">Expression
Semantics</a>
</h6>
@ -97,21 +129,21 @@
<code class="computeroutput"><span class="identifier">t</span></code> in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.count.complexity"></a><h6>
<a name="id1109152"></a>
<a name="id1143516"></a>
<a href="count.html#fusion.algorithms.query.functions.count.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.count.header"></a><h6>
<a name="id1109224"></a>
<a name="id1143590"></a>
<a href="count.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.count.example"></a><h6>
<a name="id1109316"></a>
<a name="id1143683"></a>
<a href="count.html#fusion.algorithms.query.functions.count.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.count_if.description"></a><h6>
<a name="id1109507"></a>
<a name="id1143875"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.query.functions.count_if.synopsis"></a><h6>
<a name="id1109545"></a>
<a name="id1143915"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1109717"></a><p class="title"><b>Table<EFBFBD>1.44.<2E>Parameters</b></p>
<a name="id1144088"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -54,34 +54,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>The sequence
to search</td>
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>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.count_if.expression_semantics"></a><h6>
<a name="id1109850"></a>
<a name="id1144265"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,21 +128,21 @@
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>.
</p>
<a name="fusion.algorithms.query.functions.count_if.complexity"></a><h6>
<a name="id1109970"></a>
<a name="id1144392"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.count_if.header"></a><h6>
<a name="id1110043"></a>
<a name="id1144466"></a>
<a href="count_if.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.count_if.example"></a><h6>
<a name="id1110136"></a>
<a name="id1144561"></a>
<a href="count_if.html#fusion.algorithms.query.functions.count_if.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.find.description"></a><h6>
<a name="id1106803"></a>
<a name="id1141006"></a>
<a href="find.html#fusion.algorithms.query.functions.find.description">Description</a>
</h6>
<p>
Finds the first element of a given type within a sequence.
</p>
<a name="fusion.algorithms.query.functions.find.synopsis"></a><h6>
<a name="id1106832"></a>
<a name="id1141034"></a>
<a href="find.html#fusion.algorithms.query.functions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1107005"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<a name="id1141209"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,31 +58,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The sequence to search</td>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to search for</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to search for
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.find.expression_semantics"></a><h6>
<a name="id1107088"></a>
<a name="id1141332"></a>
<a href="find.html#fusion.algorithms.query.functions.find.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,21 +133,21 @@
to <code class="computeroutput"><a 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>
</p>
<a name="fusion.algorithms.query.functions.find.complexity"></a><h6>
<a name="id1107306"></a>
<a name="id1141558"></a>
<a href="find.html#fusion.algorithms.query.functions.find.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.find.header"></a><h6>
<a name="id1107378"></a>
<a name="id1141632"></a>
<a href="find.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.find.example"></a><h6>
<a name="id1107470"></a>
<a name="id1141725"></a>
<a href="find.html#fusion.algorithms.query.functions.find.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -31,11 +31,11 @@
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>.
</p>
<a name="fusion.algorithms.query.functions.find_if.description"></a><h6>
<a name="id1107759"></a>
<a name="id1142017"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.description">Description</a>
</h6>
<a name="fusion.algorithms.query.functions.find_if.synopsis"></a><h6>
<a name="id1107783"></a>
<a name="id1142041"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -52,7 +52,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">find_if</span><span class="special">(</span><span class="identifier">Sequence</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1107958"></a><p class="title"><b>Table<EFBFBD>1.42.<2E>Parameters</b></p>
<a name="id1142217"></a><p class="title"><b>Table<EFBFBD>1.43.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -60,33 +60,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The sequence to search</td>
</p>
</td>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</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>
</td>
<td>The search predicate</td>
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.find_if.expression_semantics"></a><h6>
<a name="id1108048"></a>
<a name="id1142347"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -105,21 +137,21 @@
if there is no such element.
</p>
<a name="fusion.algorithms.query.functions.find_if.complexity"></a><h6>
<a name="id1108224"></a>
<a name="id1142532"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.find_if.header"></a><h6>
<a name="id1108297"></a>
<a name="id1142605"></a>
<a href="find_if.html#fusion.algorithms.query.functions.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>
<a name="fusion.algorithms.query.functions.find_if.example"></a><h6>
<a name="id1108390"></a>
<a name="id1142700"></a>
<a href="find_if.html#fusion.algorithms.query.functions.find_if.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.functions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithms.query.functions.none.description"></a><h6>
<a name="id1105771"></a>
<a name="id1139908"></a>
<a href="none.html#fusion.algorithms.query.functions.none.description">Description</a>
</h6>
<p>
@ -37,7 +37,7 @@
element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.query.functions.none.synopsis"></a><h6>
<a name="id1105845"></a>
<a name="id1139988"></a>
<a href="none.html#fusion.algorithms.query.functions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1106013"></a><p class="title"><b>Table<EFBFBD>1.40.<2E>Parameters</b></p>
<a name="id1140158"></a><p class="title"><b>Table<EFBFBD>1.41.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,34 +57,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>The sequence
to search</td>
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>
<td>
<p>
The sequence to search
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
unary function object</td>
<td>The search predicate</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
The search predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.functions.none.expression_semantics"></a><h6>
<a name="id1106146"></a>
<a name="id1140336"></a>
<a href="none.html#fusion.algorithms.query.functions.none.expression_semantics">Expression
Semantics</a>
</h6>
@ -101,21 +133,21 @@
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>.
</p>
<a name="fusion.algorithms.query.functions.none.complexity"></a><h6>
<a name="id1106325"></a>
<a name="id1140524"></a>
<a href="none.html#fusion.algorithms.query.functions.none.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.functions.none.header"></a><h6>
<a name="id1106397"></a>
<a name="id1140597"></a>
<a href="none.html#fusion.algorithms.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>
<a name="fusion.algorithms.query.functions.none.example"></a><h6>
<a name="id1106489"></a>
<a name="id1140690"></a>
<a href="none.html#fusion.algorithms.query.functions.none.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.all"></a><a href="all.html" title="all">all</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.all.description"></a><h6>
<a name="id1110881"></a>
<a name="id1145360"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/all.html" title="all"><code class="computeroutput"><span class="identifier">all</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.all.synopsis"></a><h6>
<a name="id1110924"></a>
<a name="id1145404"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1111029"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<a name="id1145511"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,34 +55,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.all.expression_semantics"></a><h6>
<a name="id1111120"></a>
<a name="id1145642"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.expression_semantics">Expression
Semantics</a>
</h6>
@ -102,14 +134,14 @@
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.all.complexity"></a><h6>
<a name="id1111278"></a>
<a name="id1145808"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.all.header"></a><h6>
<a name="id1111306"></a>
<a name="id1145836"></a>
<a href="all.html#fusion.algorithms.query.metafunctions.all.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.any"></a><a href="any.html" title="any">any</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.any.description"></a><h6>
<a name="id1110346"></a>
<a name="id1144772"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/any.html" title="any"><code class="computeroutput"><span class="identifier">any</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.any.synopsis"></a><h6>
<a name="id1110389"></a>
<a name="id1144816"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1110494"></a><p class="title"><b>Table<EFBFBD>1.45.<2E>Parameters</b></p>
<a name="id1144923"></a><p class="title"><b>Table<EFBFBD>1.46.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,34 +55,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.any.expression_semantics"></a><h6>
<a name="id1110585"></a>
<a name="id1145054"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.expression_semantics">Expression
Semantics</a>
</h6>
@ -102,14 +134,14 @@
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.any.complexity"></a><h6>
<a name="id1110743"></a>
<a name="id1145220"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.any.header"></a><h6>
<a name="id1110771"></a>
<a name="id1145248"></a>
<a href="any.html#fusion.algorithms.query.metafunctions.any.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.count"></a><a href="count.html" title="count">count</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.count.description"></a><h6>
<a name="id1113127"></a>
<a name="id1147815"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
given the sequence and search types.
</p>
<a name="fusion.algorithms.query.metafunctions.count.synopsis"></a><h6>
<a name="id1113165"></a>
<a name="id1147854"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1113271"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<a name="id1147962"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,32 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>heading
Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
heading Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.count.expression_semantics"></a><h6>
<a name="id1113357"></a>
<a name="id1148087"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.expression_semantics">Expression
Semantics</a>
</h6>
@ -97,14 +129,14 @@
<code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.count.complexity"></a><h6>
<a name="id1113478"></a>
<a name="id1148214"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.count.header"></a><h6>
<a name="id1113506"></a>
<a name="id1148242"></a>
<a href="count.html#fusion.algorithms.query.metafunctions.count.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.count_if"></a><a href="count_if.html" title="count_if">count_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.count_if.description"></a><h6>
<a name="id1113617"></a>
<a name="id1148354"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
given the sequence and predicate types.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.synopsis"></a><h6>
<a name="id1113655"></a>
<a name="id1148393"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1113761"></a><p class="title"><b>Table<EFBFBD>1.51.<2E>Parameters</b></p>
<a name="id1148501"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary function object</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</p>
</td>
<td>
<p>
A unary function object
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.count_if.expression_semantics"></a><h6>
<a name="id1113847"></a>
<a name="id1148626"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,14 +129,14 @@
always <code class="computeroutput"><span class="keyword">int</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.complexity"></a><h6>
<a name="id1113978"></a>
<a name="id1148763"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.count_if.header"></a><h6>
<a name="id1114006"></a>
<a name="id1148791"></a>
<a href="count_if.html#fusion.algorithms.query.metafunctions.count_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.find"></a><a href="find.html" title="find">find</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.find.description"></a><h6>
<a name="id1111955"></a>
<a name="id1146538"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
given the sequence and search types.
</p>
<a name="fusion.algorithms.query.metafunctions.find.synopsis"></a><h6>
<a name="id1111992"></a>
<a name="id1146577"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1112096"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<a name="id1146682"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>Model
of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.find.expression_semantics"></a><h6>
<a name="id1112179"></a>
<a name="id1146805"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.expression_semantics">Expression
Semantics</a>
</h6>
@ -97,14 +130,14 @@
in <code class="computeroutput"><span class="identifier">Sequence</span></code>, or <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.metafunctions.find.complexity"></a><h6>
<a name="id1112352"></a>
<a name="id1146984"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.complexity">Complexity</a>
</h6>
<p>
Linear, at most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.metafunctions.find.header"></a><h6>
<a name="id1112424"></a>
<a name="id1147058"></a>
<a href="find.html#fusion.algorithms.query.metafunctions.find.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.find_if"></a><a href="find_if.html" title="find_if">find_if</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.find_if.description"></a><h6>
<a name="id1112537"></a>
<a name="id1147172"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
given the sequence and predicate types.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.synopsis"></a><h6>
<a name="id1112574"></a>
<a name="id1147211"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1112679"></a><p class="title"><b>Table<EFBFBD>1.49.<2E>Parameters</b></p>
<a name="id1147317"></a><p class="title"><b>Table<EFBFBD>1.50.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,33 +56,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</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>
</td>
<td>Operation's arguments</td>
</p>
</td>
<td>
<p>
Operation's arguments
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.find_if.expression_semantics"></a><h6>
<a name="id1112771"></a>
<a name="id1147449"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,14 +132,14 @@
to true. Returns <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.complexity"></a><h6>
<a name="id1112944"></a>
<a name="id1147629"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.complexity">Complexity</a>
</h6>
<p>
Linear. At most <code class="computeroutput"><a href="../../../sequences/intrinsics/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.
</p>
<a name="fusion.algorithms.query.metafunctions.find_if.header"></a><h6>
<a name="id1113016"></a>
<a name="id1147703"></a>
<a href="find_if.html#fusion.algorithms.query.metafunctions.find_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.query.metafunctions.none"></a><a href="none.html" title="none">none</a></h5></div></div></div>
<a name="fusion.algorithms.query.metafunctions.none.description"></a><h6>
<a name="id1111416"></a>
<a name="id1145948"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.description">Description</a>
</h6>
<p>
A metafunction returning the result type of <a href="../functions/none.html" title="none"><code class="computeroutput"><span class="identifier">none</span></code></a>.
</p>
<a name="fusion.algorithms.query.metafunctions.none.synopsis"></a><h6>
<a name="id1111459"></a>
<a name="id1145992"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1111565"></a><p class="title"><b>Table<EFBFBD>1.47.<2E>Parameters</b></p>
<a name="id1146099"></a><p class="title"><b>Table<EFBFBD>1.48.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,34 +55,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.query.metafunctions.none.expression_semantics"></a><h6>
<a name="id1111656"></a>
<a name="id1146230"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.expression_semantics">Expression
Semantics</a>
</h6>
@ -102,14 +134,14 @@
The return type is always <code class="computeroutput"><span class="keyword">bool</span></code>.
</p>
<a name="fusion.algorithms.query.metafunctions.none.complexity"></a><h6>
<a name="id1111814"></a>
<a name="id1146397"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.query.metafunctions.none.header"></a><h6>
<a name="id1111842"></a>
<a name="id1146425"></a>
<a href="none.html#fusion.algorithms.query.metafunctions.none.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -39,14 +39,20 @@
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
<tr><td align="left" valign="top">
<p>
</p>
<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>
</p>
<p>
</p>
</td></tr>
</table></div>
<a name="fusion.algorithms.transformation.header"></a><h4>
<a name="id1114139"></a>
<a name="id1148928"></a>
<a href="transformation.html#fusion.algorithms.transformation.header">Header</a>
</h4>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.clear.description"></a><h6>
<a name="id1139011"></a>
<a name="id1174309"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.description">Description</a>
</h6>
<p>
<a href="clear.html" title="clear"><code class="computeroutput"><span class="identifier">clear</span></code></a> returns an empty sequence.
</p>
<a name="fusion.algorithms.transformation.functions.clear.synposis"></a><h6>
<a name="id1139054"></a>
<a name="id1174353"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1139191"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<a name="id1174491"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -51,23 +51,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.clear.expression_semantics"></a><h6>
<a name="id1139258"></a>
<a name="id1174584"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.expression_semantics">Expression
Semantics</a>
</h6>
@ -84,21 +106,21 @@
with no elements.
</p>
<a name="fusion.algorithms.transformation.functions.clear.complexity"></a><h6>
<a name="id1139342"></a>
<a name="id1174670"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.functions.clear.header"></a><h6>
<a name="id1139370"></a>
<a name="id1174698"></a>
<a href="clear.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.clear.example"></a><h6>
<a name="id1139464"></a>
<a name="id1174792"></a>
<a href="clear.html#fusion.algorithms.transformation.functions.clear.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.erase"></a><a href="erase.html" title="erase">erase</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.erase.description"></a><h6>
<a name="id1139610"></a>
<a name="id1174940"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
those at a specified iterator, or between two iterators.
</p>
<a name="fusion.algorithms.transformation.functions.erase.synposis"></a><h6>
<a name="id1139640"></a>
<a name="id1174970"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -54,7 +54,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">First</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it1</span><span class="special">,</span> <span class="identifier">Last</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">it2</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1140045"></a><p class="title"><b>Table<EFBFBD>1.62.<2E>Parameters</b></p>
<a name="id1175377"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -62,46 +62,86 @@
<col>
</colgroup>
<thead><tr>
<th>Parameters</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameters
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">it1</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">it1</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
</td>
</p>
</td>
<td>
<p>
Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">it2</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">it2</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Iterator into <code class="computeroutput"><span class="identifier">seq</span></code>
</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>
</td>
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.erase.expression_semantics"></a><h6>
<a name="id1140187"></a>
<a name="id1175579"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.expression_semantics">Expression
Semantics</a>
</h6>
@ -132,21 +172,21 @@
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>).
</p>
<a name="fusion.algorithms.transformation.functions.erase.complexity"></a><h6>
<a name="id1140406"></a>
<a name="id1175808"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.erase.header"></a><h6>
<a name="id1140435"></a>
<a name="id1175837"></a>
<a href="erase.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.erase.example"></a><h6>
<a name="id1140528"></a>
<a name="id1175932"></a>
<a href="erase.html#fusion.algorithms.transformation.functions.erase.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.erase_key.description"></a><h6>
<a name="id1140933"></a>
<a name="id1176337"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.description">Description</a>
</h6>
<p>
@ -39,7 +39,7 @@
with a given key.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.synposis"></a><h6>
<a name="id1140987"></a>
<a name="id1176393"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">erase_key</span><span class="special">&lt;</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">,</span> <span class="identifier">Key</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">erase_key</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1141138"></a><p class="title"><b>Table<EFBFBD>1.63.<2E>Parameters</b></p>
<a name="id1176545"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,31 +58,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Key</span></code></td>
<td>Any
type</td>
<td>Key to erase</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">Key</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Key to erase
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.erase_key.expression_semantics"></a><h6>
<a name="id1141223"></a>
<a name="id1176670"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,21 +133,21 @@
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.complexity"></a><h6>
<a name="id1141334"></a>
<a name="id1176785"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.erase_key.header"></a><h6>
<a name="id1141363"></a>
<a name="id1176814"></a>
<a href="erase_key.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.erase_key.example"></a><h6>
<a name="id1141456"></a>
<a name="id1176909"></a>
<a href="erase_key.html#fusion.algorithms.transformation.functions.erase_key.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.filter.description"></a><h6>
<a name="id1114260"></a>
<a name="id1149050"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
the elements of a specified type.
</p>
<a name="fusion.algorithms.transformation.functions.filter.synopsis"></a><h6>
<a name="id1114289"></a>
<a name="id1149080"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1114451"></a><p class="title"><b>Table<EFBFBD>1.52.<2E>Parameters</b></p>
<a name="id1149243"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,31 +53,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type to retain</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.filter.expression_semantics"></a><h6>
<a name="id1114536"></a>
<a name="id1149368"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,21 +129,21 @@
to <code class="computeroutput"><a 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>.
</p>
<a name="fusion.algorithms.transformation.functions.filter.complexity"></a><h6>
<a name="id1114721"></a>
<a name="id1149558"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.filter.header"></a><h6>
<a name="id1114749"></a>
<a name="id1149586"></a>
<a href="filter.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.filter.example"></a><h6>
<a name="id1114843"></a>
<a name="id1149681"></a>
<a href="filter.html#fusion.algorithms.transformation.functions.filter.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.filter_if.description"></a><h6>
<a name="id1115082"></a>
<a name="id1149922"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.description">Description</a>
</h6>
<p>
@ -35,7 +35,7 @@
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>.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.synopsis"></a><h6>
<a name="id1115160"></a>
<a name="id1150002"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1115322"></a><p class="title"><b>Table<EFBFBD>1.53.<2E>Parameters</b></p>
<a name="id1150166"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -54,33 +54,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</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>
</td>
<td>The predicate to filter by</td>
</p>
</td>
<td>
<p>
The predicate to filter by
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.filter_if.expression_semantics"></a><h6>
<a name="id1115414"></a>
<a name="id1150298"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,21 +132,21 @@
is the same as in the original sequence.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.complexity"></a><h6>
<a name="id1115554"></a>
<a name="id1150444"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.filter_if.header"></a><h6>
<a name="id1115583"></a>
<a name="id1150473"></a>
<a href="filter_if.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.filter_if.example"></a><h6>
<a name="id1115676"></a>
<a name="id1150567"></a>
<a href="filter_if.html#fusion.algorithms.transformation.functions.filter_if.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.insert.description"></a><h6>
<a name="id1141639"></a>
<a name="id1177093"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
element inserted the position described by a given iterator.
</p>
<a name="fusion.algorithms.transformation.functions.insert.synposis"></a><h6>
<a name="id1141669"></a>
<a name="id1177123"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="emphasis"><em>unspecified</em></span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1141835"></a><p class="title"><b>Table<EFBFBD>1.64.<2E>Parameters</b></p>
<a name="id1177290"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -54,40 +54,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">pos</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">pos</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>The position to insert at</td>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to insert</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to insert
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.insert.expression_semantics"></a><h6>
<a name="id1141946"></a>
<a name="id1177456"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.expression_semantics">Expression
Semantics</a>
</h6>
@ -107,21 +150,21 @@
<code class="computeroutput"><span class="identifier">pos</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.insert.complexity"></a><h6>
<a name="id1142078"></a>
<a name="id1177593"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.insert.header"></a><h6>
<a name="id1142106"></a>
<a name="id1177621"></a>
<a href="insert.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.insert.example"></a><h6>
<a name="id1142200"></a>
<a name="id1177716"></a>
<a href="insert.html#fusion.algorithms.transformation.functions.insert.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.insert_range.description"></a><h6>
<a name="id1142460"></a>
<a name="id1177977"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
iterator.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.synposis"></a><h6>
<a name="id1142491"></a>
<a name="id1178008"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">Pos</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">pos</span><span class="special">,</span> <span class="identifier">Range</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">range</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1142729"></a><p class="title"><b>Table<EFBFBD>1.65.<2E>Parameters</b></p>
<a name="id1178248"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,43 +55,85 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">pos</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">pos</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>The position to insert at</td>
</p>
</td>
<td>
<p>
The position to insert at
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">range</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">range</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Range to insert</td>
</p>
</td>
<td>
<p>
Range to insert
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.insert_range.expression_semantics"></a><h6>
<a name="id1142847"></a>
<a name="id1178421"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
@ -111,21 +153,21 @@
All elements retaining their ordering from the orignal sequences.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.complexity"></a><h6>
<a name="id1142982"></a>
<a name="id1178562"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.insert_range.header"></a><h6>
<a name="id1143010"></a>
<a name="id1178590"></a>
<a href="insert_range.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.insert_range.example"></a><h6>
<a name="id1143103"></a>
<a name="id1178684"></a>
<a href="insert_range.html#fusion.algorithms.transformation.functions.insert_range.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.join.description"></a><h6>
<a name="id1143394"></a>
<a name="id1178977"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
first followed by the elements of the second.
</p>
<a name="fusion.algorithms.transformation.functions.join.synopsis"></a><h6>
<a name="id1143424"></a>
<a name="id1179007"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -44,7 +44,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1143606"></a><p class="title"><b>Table<EFBFBD>1.66.<2E>Parameters</b></p>
<a name="id1179190"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -52,34 +52,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">lhs</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">lhs</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">rhs</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">rhs</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.join.expression_semantics"></a><h6>
<a name="id1143698"></a>
<a name="id1179323"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.expression_semantics">Expression
Semantics</a>
</h6>
@ -98,21 +130,21 @@
The order of th elements is preserved.
</p>
<a name="fusion.algorithms.transformation.functions.join.complexity"></a><h6>
<a name="id1143811"></a>
<a name="id1179439"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.join.header"></a><h6>
<a name="id1143839"></a>
<a name="id1179468"></a>
<a href="join.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.join.example"></a><h6>
<a name="id1143933"></a>
<a name="id1179562"></a>
<a href="join.html#fusion.algorithms.transformation.functions.join.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.pop_back.description"></a><h6>
<a name="id1145274"></a>
<a name="id1180944"></a>
<a href="pop_back.html#fusion.algorithms.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.algorithms.transformation.functions.pop_back.synopsis"></a><h6>
<a name="id1145303"></a>
<a name="id1180973"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1145440"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<a name="id1181111"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -51,23 +51,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.pop_back.expression_semantics"></a><h6>
<a name="id1145507"></a>
<a name="id1181204"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
@ -86,21 +108,21 @@
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.pop_back.complexity"></a><h6>
<a name="id1145611"></a>
<a name="id1181312"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.pop_back.header"></a><h6>
<a name="id1145640"></a>
<a name="id1181340"></a>
<a href="pop_back.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.pop_back.example"></a><h6>
<a name="id1145733"></a>
<a name="id1181435"></a>
<a href="pop_back.html#fusion.algorithms.transformation.functions.pop_back.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.pop_front.description"></a><h6>
<a name="id1145889"></a>
<a name="id1181592"></a>
<a href="pop_front.html#fusion.algorithms.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.algorithms.transformation.functions.pop_front.synopsis"></a><h6>
<a name="id1145896"></a>
<a name="id1181599"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1146054"></a><p class="title"><b>Table<EFBFBD>1.69.<2E>Parameters</b></p>
<a name="id1181759"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -51,23 +51,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.pop_front.expression_semantics"></a><h6>
<a name="id1146121"></a>
<a name="id1181852"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
@ -86,21 +108,21 @@
same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.pop_front.complexity"></a><h6>
<a name="id1146225"></a>
<a name="id1181960"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.pop_front.header"></a><h6>
<a name="id1146253"></a>
<a name="id1181988"></a>
<a href="pop_front.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.pop_front.example"></a><h6>
<a name="id1146347"></a>
<a name="id1182083"></a>
<a href="pop_front.html#fusion.algorithms.transformation.functions.pop_front.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.push_back.description"></a><h6>
<a name="id1146509"></a>
<a name="id1182247"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the end.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.synopsis"></a><h6>
<a name="id1146517"></a>
<a name="id1182254"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1146720"></a><p class="title"><b>Table<EFBFBD>1.70.<2E>Parameters</b></p>
<a name="id1182459"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,31 +53,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to add to the end</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the end
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.push_back.expression_semantics"></a><h6>
<a name="id1146805"></a>
<a name="id1182584"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,21 +129,21 @@
to the end. The elements are in the same order as they were in <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.complexity"></a><h6>
<a name="id1146927"></a>
<a name="id1182711"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.push_back.header"></a><h6>
<a name="id1146956"></a>
<a name="id1182740"></a>
<a href="push_back.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.push_back.example"></a><h6>
<a name="id1147049"></a>
<a name="id1182834"></a>
<a href="push_back.html#fusion.algorithms.transformation.functions.push_back.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.push_front.description"></a><h6>
<a name="id1147240"></a>
<a name="id1183026"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.description">Description</a>
</h6>
<p>
Returns a new sequence with an element added at the beginning.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.synopsis"></a><h6>
<a name="id1147247"></a>
<a name="id1183033"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">t</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1147450"></a><p class="title"><b>Table<EFBFBD>1.71.<2E>Parameters</b></p>
<a name="id1183238"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,31 +53,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">t</span></code></td>
<td>Any
type</td>
<td>The value to add to the beginning</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">t</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The value to add to the beginning
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.push_front.expression_semantics"></a><h6>
<a name="id1147536"></a>
<a name="id1183363"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
@ -97,21 +130,21 @@
<code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.complexity"></a><h6>
<a name="id1147660"></a>
<a name="id1183493"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.push_front.header"></a><h6>
<a name="id1147688"></a>
<a name="id1183521"></a>
<a href="push_front.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.push_front.example"></a><h6>
<a name="id1147781"></a>
<a name="id1183616"></a>
<a href="push_front.html#fusion.algorithms.transformation.functions.push_front.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.remove.description"></a><h6>
<a name="id1136763"></a>
<a name="id1171926"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
except those of a given type.
</p>
<a name="fusion.algorithms.transformation.functions.remove.synopsis"></a><h6>
<a name="id1136792"></a>
<a name="id1171955"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1136954"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<a name="id1172118"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,31 +53,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Type to remove</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to remove
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.remove.expression_semantics"></a><h6>
<a name="id1137039"></a>
<a name="id1172244"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,21 +129,21 @@
Equivalent to <code class="computeroutput"><a 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>.
</p>
<a name="fusion.algorithms.transformation.functions.remove.complexity"></a><h6>
<a name="id1137225"></a>
<a name="id1172434"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.remove.header"></a><h6>
<a name="id1137253"></a>
<a name="id1172463"></a>
<a href="remove.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.remove.example"></a><h6>
<a name="id1137347"></a>
<a name="id1172558"></a>
<a href="remove.html#fusion.algorithms.transformation.functions.remove.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.remove_if.description"></a><h6>
<a name="id1137543"></a>
<a name="id1172756"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
those where a given unary function object evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.synopsis"></a><h6>
<a name="id1137550"></a>
<a name="id1172795"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -45,7 +45,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1137744"></a><p class="title"><b>Table<EFBFBD>1.59.<2E>Parameters</b></p>
<a name="id1172959"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -53,33 +53,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</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>
</td>
<td>Removal predicate</td>
</p>
</td>
<td>
<p>
Removal predicate
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.remove_if.expression_semantics"></a><h6>
<a name="id1137836"></a>
<a name="id1173092"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -99,21 +131,21 @@
<span class="special">&gt;(</span><span class="identifier">seq</span><span class="special">)</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.complexity"></a><h6>
<a name="id1138048"></a>
<a name="id1173310"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.remove_if.header"></a><h6>
<a name="id1138076"></a>
<a name="id1173338"></a>
<a href="remove_if.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.remove_if.example"></a><h6>
<a name="id1138170"></a>
<a name="id1173433"></a>
<a href="remove_if.html#fusion.algorithms.transformation.functions.remove_if.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.replace.description"></a><h6>
<a name="id1117475"></a>
<a name="id1152497"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
a new value.
</p>
<a name="fusion.algorithms.transformation.functions.replace.synopsis"></a><h6>
<a name="id1117504"></a>
<a name="id1152526"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -46,7 +46,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">old_value</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1117718"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<a name="id1152741"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -54,42 +54,85 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/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>
</td>
<td>Operation's
argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">old_value</span></code></td>
<td>Any
type</td>
<td>Value to replace</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">old_value</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Value to replace
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">new_value</span></code></td>
<td>Any
type</td>
<td>Replacement value</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">new_value</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.replace.expression_semantics"></a><h6>
<a name="id1117879"></a>
<a name="id1152962"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.expression_semantics">Expression
Semantics</a>
</h6>
@ -108,21 +151,21 @@
to elements with the same type and equal to <code class="computeroutput"><span class="identifier">old_value</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.replace.complexity"></a><h6>
<a name="id1118011"></a>
<a name="id1153100"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.replace.header"></a><h6>
<a name="id1118040"></a>
<a name="id1153128"></a>
<a href="replace.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.replace.example"></a><h6>
<a name="id1118133"></a>
<a name="id1153223"></a>
<a href="replace.html#fusion.algorithms.transformation.functions.replace.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.replace_if.description"></a><h6>
<a name="id1118308"></a>
<a name="id1153400"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.description">Description</a>
</h6>
<p>
@ -35,7 +35,7 @@
replaced with a new value.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.synopsis"></a><h6>
<a name="id1118316"></a>
<a name="id1170916"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">new_value</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1136050"></a><p class="title"><b>Table<EFBFBD>1.57.<2E>Parameters</b></p>
<a name="id1171144"></a><p class="title"><b>Table<EFBFBD>1.58.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,40 +55,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>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>
</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</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>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">new_value</span></code></td>
<td>Any
type</td>
<td>Replacement value</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">new_value</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Replacement value
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.replace_if.expression_semantics"></a><h6>
<a name="id1136202"></a>
<a name="id1171356"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -108,21 +151,21 @@
evaluates to <code class="computeroutput"><span class="keyword">true</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.complexity"></a><h6>
<a name="id1136345"></a>
<a name="id1171505"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.replace_if.header"></a><h6>
<a name="id1136373"></a>
<a name="id1171533"></a>
<a href="replace_if.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.replace_if.example"></a><h6>
<a name="id1136466"></a>
<a name="id1171628"></a>
<a href="replace_if.html#fusion.algorithms.transformation.functions.replace_if.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.reverse.description"></a><h6>
<a name="id1138390"></a>
<a name="id1173655"></a>
<a href="reverse.html#fusion.algorithms.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.algorithms.transformation.functions.reverse.synposis"></a><h6>
<a name="id1138419"></a>
<a name="id1173684"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.synposis">Synposis</a>
</h6>
<pre class="programlisting">
@ -43,7 +43,7 @@
<span class="keyword">typename</span> <a 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>
</pre>
<div class="table">
<a name="id1138556"></a><p class="title"><b>Table<EFBFBD>1.60.<2E>Parameters</b></p>
<a name="id1173822"></a><p class="title"><b>Table<EFBFBD>1.61.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -51,23 +51,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.reverse.expression_semantics"></a><h6>
<a name="id1138624"></a>
<a name="id1173916"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
@ -85,21 +107,21 @@
in reverse order.
</p>
<a name="fusion.algorithms.transformation.functions.reverse.complexity"></a><h6>
<a name="id1138718"></a>
<a name="id1174013"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.reverse.header"></a><h6>
<a name="id1138747"></a>
<a name="id1174041"></a>
<a href="reverse.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.reverse.example"></a><h6>
<a name="id1138840"></a>
<a name="id1174136"></a>
<a href="reverse.html#fusion.algorithms.transformation.functions.reverse.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.transform.description"></a><h6>
<a name="id1115939"></a>
<a name="id1150832"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.description">Description</a>
</h6>
<p>
@ -38,7 +38,7 @@
to each element of <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.transform.unary_version_synopsis"></a><h6>
<a name="id1116022"></a>
<a name="id1150921"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.unary_version_synopsis">Unary
version synopsis</a>
</h6>
@ -51,7 +51,7 @@
<span class="identifier">Sequence</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1116200"></a><p class="title"><b>Table<EFBFBD>1.54.<2E>Parameters</b></p>
<a name="id1151100"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -59,36 +59,67 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> where <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>
</td>
<td>Transformation
function</td>
Function Object</a> where <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>
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.transform.expression_semantics"></a><h6>
<a name="id1116333"></a>
<a name="id1151277"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.expression_semantics">Expression
Semantics</a>
</h6>
@ -106,7 +137,7 @@
within <code class="computeroutput"><span class="identifier">seq</span></code>.
</p>
<a name="fusion.algorithms.transformation.functions.transform.binary_version_synopsis"></a><h6>
<a name="id1116468"></a>
<a name="id1151418"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.binary_version_synopsis">Binary
version synopsis</a>
</h6>
@ -120,7 +151,7 @@
<span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="identifier">F</span> <span class="identifier">f</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1116701"></a><p class="title"><b>Table<EFBFBD>1.55.<2E>Parameters</b></p>
<a name="id1151652"></a><p class="title"><b>Table<EFBFBD>1.56.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -128,39 +159,82 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">seq1</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq1</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">seq2</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">seq2</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A model of binary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> where <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> and
<code class="computeroutput"><span class="identifier">e2</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code>
respectively</td>
<td>Transformation function</td>
Function Object</a> where <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>
and <code class="computeroutput"><span class="identifier">e2</span></code> of <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code>
respectively
</p>
</td>
<td>
<p>
Transformation function
</p>
</td>
</tr>
</tbody>
</table>
@ -176,21 +250,21 @@
within <code class="computeroutput"><span class="identifier">seq1</span></code> and <code class="computeroutput"><span class="identifier">seq2</span></code> respectively.
</p>
<a name="fusion.algorithms.transformation.functions.transform.complexity"></a><h6>
<a name="id1116982"></a>
<a name="id1152001"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.transform.header"></a><h6>
<a name="id1117010"></a>
<a name="id1152029"></a>
<a href="transform.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.transform.example"></a><h6>
<a name="id1117104"></a>
<a name="id1152124"></a>
<a href="transform.html#fusion.algorithms.transformation.functions.transform.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.functions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.functions.zip.description"></a><h6>
<a name="id1144213"></a>
<a name="id1179844"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
of the members of the component sequences.
</p>
<a name="fusion.algorithms.transformation.functions.zip.synopsis"></a><h6>
<a name="id1144243"></a>
<a name="id1179874"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="identifier">zip</span><span class="special">(</span><span class="identifier">Sequence1</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq1</span><span class="special">,</span> <span class="identifier">Sequence2</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seq2</span><span class="special">,</span> <span class="special">...</span> <span class="identifier">SequenceN</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">seqN</span><span class="special">);</span>
</pre>
<div class="table">
<a name="id1144492"></a><p class="title"><b>Table<EFBFBD>1.67.<2E>Parameters</b></p>
<a name="id1180124"></a><p class="title"><b>Table<EFBFBD>1.68.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,24 +56,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
</td>
<td>Each sequence
is a model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<p>
<code class="computeroutput"><span class="identifier">seq1</span></code> to <code class="computeroutput"><span class="identifier">seqN</span></code>
</p>
</td>
<td>
<p>
Each sequence is a model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>.</td>
<td>Operation's argument</td>
Sequence</a>.
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.functions.zip.expression_semantics"></a><h6>
<a name="id1144570"></a>
<a name="id1180229"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.expression_semantics">Expression
Semantics</a>
</h6>
@ -96,21 +117,21 @@
<span class="char">'c'</span><span class="special">))</span></code>
</p>
<a name="fusion.algorithms.transformation.functions.zip.complexity"></a><h6>
<a name="id1144834"></a>
<a name="id1180501"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.complexity">Complexity</a>
</h6>
<p>
Constant. Returns a view which is lazily evaluated.
</p>
<a name="fusion.algorithms.transformation.functions.zip.header"></a><h6>
<a name="id1144862"></a>
<a name="id1180529"></a>
<a href="zip.html#fusion.algorithms.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>
<a name="fusion.algorithms.transformation.functions.zip.example"></a><h6>
<a name="id1144955"></a>
<a name="id1180623"></a>
<a href="zip.html#fusion.algorithms.transformation.functions.zip.example">Example</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.clear"></a><a href="clear.html" title="clear">clear</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.clear.description"></a><h6>
<a name="id1152365"></a>
<a name="id1206067"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.synopsis"></a><h6>
<a name="id1152409"></a>
<a name="id1206112"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1152497"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<a name="id1206202"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,20 +55,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.clear.expression_semantics"></a><h6>
<a name="id1152558"></a>
<a name="id1206287"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.expression_semantics">Expression
Semantics</a>
</h6>
@ -84,14 +107,14 @@
<span class="bold"><strong>Semantics</strong></span>: Returns an empty sequence.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.complexity"></a><h6>
<a name="id1152656"></a>
<a name="id1206386"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.clear.header"></a><h6>
<a name="id1152684"></a>
<a name="id1206414"></a>
<a href="clear.html#fusion.algorithms.transformation.metafunctions.clear.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -30,11 +30,11 @@
and range delimiting iterator types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.description"></a><h6>
<a name="id1152818"></a>
<a name="id1206551"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.description">Description</a>
</h6>
<a name="fusion.algorithms.transformation.metafunctions.erase.synopsis"></a><h6>
<a name="id1152825"></a>
<a name="id1206558"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1152968"></a><p class="title"><b>Table<EFBFBD>1.81.<2E>Parameters</b></p>
<a name="id1206703"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,43 +56,85 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">It1</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">It1</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">It2</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">It2</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.erase.expression_semantics"></a><h6>
<a name="id1153086"></a>
<a name="id1206876"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.expression_semantics">Expression
Semantics</a>
</h6>
@ -122,14 +164,14 @@
and <code class="computeroutput"><span class="identifier">It2</span></code> removed.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.complexity"></a><h6>
<a name="id1153315"></a>
<a name="id1207111"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase.header"></a><h6>
<a name="id1153343"></a>
<a name="id1207139"></a>
<a href="erase.html#fusion.algorithms.transformation.metafunctions.erase.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.erase_key"></a><a href="erase_key.html" title="erase_key">erase_key</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.description"></a><h6>
<a name="id1170935"></a>
<a name="id1207257"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
and key types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.synopsis"></a><h6>
<a name="id1170981"></a>
<a name="id1207304"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1171085"></a><p class="title"><b>Table<EFBFBD>1.82.<2E>Parameters</b></p>
<a name="id1207408"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/associative_sequence.html" title="Associative
Sequence">Associative
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Key</span></code></td>
<td>Any
type</td>
<td>Key type</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">Key</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Key type
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics"></a><h6>
<a name="id1171169"></a>
<a name="id1207533"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.expression_semantics">Expression
Semantics</a>
</h6>
@ -98,14 +131,14 @@
except those with key <code class="computeroutput"><span class="identifier">Key</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.complexity"></a><h6>
<a name="id1171298"></a>
<a name="id1207666"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.erase_key.header"></a><h6>
<a name="id1171305"></a>
<a name="id1207673"></a>
<a href="erase_key.html#fusion.algorithms.transformation.metafunctions.erase_key.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.filter"></a><a href="filter.html" title="filter">filter</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.filter.description"></a><h6>
<a name="id1147989"></a>
<a name="id1183824"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
and type to retain.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.synopsis"></a><h6>
<a name="id1148032"></a>
<a name="id1183869"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1148136"></a><p class="title"><b>Table<EFBFBD>1.72.<2E>Parameter</b></p>
<a name="id1183974"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Type to retain</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.filter.expression_semantics"></a><h6>
<a name="id1148222"></a>
<a name="id1184100"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,14 +133,14 @@
<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>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.complexity"></a><h6>
<a name="id1148446"></a>
<a name="id1184330"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter.header"></a><h6>
<a name="id1148453"></a>
<a name="id1184337"></a>
<a href="filter.html#fusion.algorithms.transformation.metafunctions.filter.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.filter_if"></a><a href="filter_if.html" title="filter_if">filter_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.description"></a><h6>
<a name="id1148588"></a>
<a name="id1184473"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.description">Description</a>
</h6>
<p>
@ -35,7 +35,7 @@
Lambda Expression</a> predicate type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.synopsis"></a><h6>
<a name="id1148641"></a>
<a name="id1184527"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1148746"></a><p class="title"><b>Table<EFBFBD>1.73.<2E>Parameter</b></p>
<a name="id1184632"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameter</b></p>
<table class="table" summary="Parameter">
<colgroup>
<col>
@ -57,33 +57,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</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>
</td>
<td>Type to retain</td>
</p>
</td>
<td>
<p>
Type to retain
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics"></a><h6>
<a name="id1148836"></a>
<a name="id1184764"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -102,14 +134,14 @@
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>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.complexity"></a><h6>
<a name="id1148991"></a>
<a name="id1184925"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.filter_if.header"></a><h6>
<a name="id1148998"></a>
<a name="id1184932"></a>
<a href="filter_if.html#fusion.algorithms.transformation.metafunctions.filter_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.insert"></a><a href="insert.html" title="insert">insert</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.insert.description"></a><h6>
<a name="id1171442"></a>
<a name="id1207811"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
position iterator and insertion types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.synopsis"></a><h6>
<a name="id1171485"></a>
<a name="id1207856"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1171605"></a><p class="title"><b>Table<EFBFBD>1.83.<2E>Parameters</b></p>
<a name="id1207977"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,40 +57,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Position</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Position</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.insert.expression_semantics"></a><h6>
<a name="id1171716"></a>
<a name="id1208142"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.expression_semantics">Expression
Semantics</a>
</h6>
@ -109,14 +152,14 @@
in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.complexity"></a><h6>
<a name="id1171864"></a>
<a name="id1208295"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert.header"></a><h6>
<a name="id1171871"></a>
<a name="id1208302"></a>
<a href="insert.html#fusion.algorithms.transformation.metafunctions.insert.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.insert_range"></a><a href="insert_range.html" title="insert_range">insert_range</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.description"></a><h6>
<a name="id1172005"></a>
<a name="id1208438"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
sequence, position iterator and insertion range types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.synopsis"></a><h6>
<a name="id1172051"></a>
<a name="id1208485"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1172172"></a><p class="title"><b>Table<EFBFBD>1.84.<2E>Parameters</b></p>
<a name="id1208606"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,43 +57,85 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Position</span></code></td>
<td>A
model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Position</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../iterators/concepts/forward_iterator.html" title="Forward
Iterator">Forward
Iterator</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Range</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Range</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics"></a><h6>
<a name="id1172290"></a>
<a name="id1208781"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.expression_semantics">Expression
Semantics</a>
</h6>
@ -112,14 +154,14 @@
into <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.complexity"></a><h6>
<a name="id1172438"></a>
<a name="id1208935"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.insert_range.header"></a><h6>
<a name="id1172468"></a>
<a name="id1208964"></a>
<a href="insert_range.html#fusion.algorithms.transformation.metafunctions.insert_range.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,14 +26,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.join"></a><a href="join.html" title="join">join</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.join.description"></a><h6>
<a name="id1172580"></a>
<a name="id1209077"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.description">Description</a>
</h6>
<p>
Returns the result of joining 2 sequences, given the sequence types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.synopsis"></a><h6>
<a name="id1172608"></a>
<a name="id1209106"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<a name="fusion.algorithms.transformation.metafunctions.join.expression_semantics"></a><h6>
<a name="id1172723"></a>
<a name="id1209222"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.expression_semantics">Expression
Semantics</a>
</h6>
@ -66,14 +66,14 @@
The order of the elements in the 2 sequences is preserved.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.complexity"></a><h6>
<a name="id1172851"></a>
<a name="id1209354"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.join.header"></a><h6>
<a name="id1172879"></a>
<a name="id1209382"></a>
<a href="join.html#fusion.algorithms.transformation.metafunctions.join.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.pop_back"></a><a href="pop_back.html" title="pop_back">pop_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.description"></a><h6>
<a name="id1173570"></a>
<a name="id1210085"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.synopsis"></a><h6>
<a name="id1173615"></a>
<a name="id1210131"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1173696"></a><p class="title"><b>Table<EFBFBD>1.85.<2E>Parameters</b></p>
<a name="id1210211"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,23 +55,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics"></a><h6>
<a name="id1173758"></a>
<a name="id1210300"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.expression_semantics">Expression
Semantics</a>
</h6>
@ -89,14 +111,14 @@
except the last element.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.complexity"></a><h6>
<a name="id1173857"></a>
<a name="id1210398"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_back.header"></a><h6>
<a name="id1173864"></a>
<a name="id1210405"></a>
<a href="pop_back.html#fusion.algorithms.transformation.metafunctions.pop_back.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.pop_front"></a><a href="pop_front.html" title="pop_front">pop_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.description"></a><h6>
<a name="id1173983"></a>
<a name="id1210525"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.synopsis"></a><h6>
<a name="id1174024"></a>
<a name="id1210566"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1174105"></a><p class="title"><b>Table<EFBFBD>1.86.<2E>Parameters</b></p>
<a name="id1210646"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,23 +55,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics"></a><h6>
<a name="id1174167"></a>
<a name="id1210734"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.expression_semantics">Expression
Semantics</a>
</h6>
@ -89,14 +111,14 @@
except the first element.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.complexity"></a><h6>
<a name="id1174266"></a>
<a name="id1210833"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.pop_front.header"></a><h6>
<a name="id1174273"></a>
<a name="id1210840"></a>
<a href="pop_front.html#fusion.algorithms.transformation.metafunctions.pop_front.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.push_back"></a><a href="push_back.html" title="push_back">push_back</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.push_back.description"></a><h6>
<a name="id1174392"></a>
<a name="id1210960"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
the input sequence and element to push.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.synopsis"></a><h6>
<a name="id1174434"></a>
<a name="id1211001"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1174529"></a><p class="title"><b>Table<EFBFBD>1.87.<2E>Parameters</b></p>
<a name="id1211095"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.push_back.expression_semantics"></a><h6>
<a name="id1174607"></a>
<a name="id1211214"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.expression_semantics">Expression
Semantics</a>
</h6>
@ -99,14 +132,14 @@
added to the end.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.complexity"></a><h6>
<a name="id1174724"></a>
<a name="id1211330"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_back.header"></a><h6>
<a name="id1174730"></a>
<a name="id1211337"></a>
<a href="push_back.html#fusion.algorithms.transformation.metafunctions.push_back.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.push_front"></a><a href="push_front.html" title="push_front">push_front</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.push_front.description"></a><h6>
<a name="id1174850"></a>
<a name="id1211457"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
of the input sequence and element to push.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.synopsis"></a><h6>
<a name="id1174892"></a>
<a name="id1211498"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1174987"></a><p class="title"><b>Table<EFBFBD>1.88.<2E>Parameters</b></p>
<a name="id1211592"></a><p class="title"><b>Table<EFBFBD>1.89.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Operation's argument</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.push_front.expression_semantics"></a><h6>
<a name="id1175065"></a>
<a name="id1211711"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.expression_semantics">Expression
Semantics</a>
</h6>
@ -99,14 +132,14 @@
added to the beginning.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.complexity"></a><h6>
<a name="id1175181"></a>
<a name="id1211827"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.push_front.header"></a><h6>
<a name="id1175208"></a>
<a name="id1211853"></a>
<a href="push_front.html#fusion.algorithms.transformation.metafunctions.push_front.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.remove"></a><a href="remove.html" title="remove">remove</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.remove.description"></a><h6>
<a name="id1150743"></a>
<a name="id1186835"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
removal types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.synopsis"></a><h6>
<a name="id1150786"></a>
<a name="id1186879"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1150890"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<a name="id1186985"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>Remove elements of this type</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
Remove elements of this type
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.remove.expression_semantics"></a><h6>
<a name="id1150976"></a>
<a name="id1187110"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.expression_semantics">Expression
Semantics</a>
</h6>
@ -100,14 +133,14 @@
<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>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.complexity"></a><h6>
<a name="id1151200"></a>
<a name="id1187340"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove.header"></a><h6>
<a name="id1151208"></a>
<a name="id1187347"></a>
<a href="remove.html#fusion.algorithms.transformation.metafunctions.remove.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.remove_if"></a><a href="remove_if.html" title="remove_if">remove_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.description"></a><h6>
<a name="id1151342"></a>
<a name="id1187483"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.description">Description</a>
</h6>
<p>
@ -35,7 +35,7 @@
Lambda Expression</a> predicate types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.synopsis"></a><h6>
<a name="id1151395"></a>
<a name="id1187537"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -49,7 +49,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1151500"></a><p class="title"><b>Table<EFBFBD>1.78.<2E>Parameters</b></p>
<a name="id1187642"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -57,35 +57,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Pred</span></code></td>
<td>A
model of unary <a href="http://www.boost.org/libs/mpl/doc/refmanual/lambda-expression.html" target="_top">MPL
<td>
<p>
<code class="computeroutput"><span class="identifier">Pred</span></code>
</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>
</td>
<td>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>
</td>
</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>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics"></a><h6>
<a name="id1151617"></a>
<a name="id1187803"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -104,14 +134,14 @@
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>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.complexity"></a><h6>
<a name="id1151772"></a>
<a name="id1187963"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.remove_if.header"></a><h6>
<a name="id1151779"></a>
<a name="id1187970"></a>
<a href="remove_if.html#fusion.algorithms.transformation.metafunctions.remove_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.replace"></a><a href="replace.html" title="replace">replace</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.replace.description"></a><h6>
<a name="id1149688"></a>
<a name="id1185672"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
the input sequence and element to replace.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.synopsis"></a><h6>
<a name="id1149732"></a>
<a name="id1185717"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -48,7 +48,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1149836"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<a name="id1185822"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -56,31 +56,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type of the search and replacement objects</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type of the search and replacement objects
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.replace.expression_semantics"></a><h6>
<a name="id1149922"></a>
<a name="id1185948"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.expression_semantics">Expression
Semantics</a>
</h6>
@ -97,14 +130,14 @@
<a href="../functions/replace.html" title="replace"><code class="computeroutput"><span class="identifier">replace</span></code></a>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.complexity"></a><h6>
<a name="id1150045"></a>
<a name="id1186074"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace.header"></a><h6>
<a name="id1150052"></a>
<a name="id1186082"></a>
<a href="replace.html#fusion.algorithms.transformation.metafunctions.replace.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.replace_if"></a><a href="replace_if.html" title="replace_if">replace_if</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.description"></a><h6>
<a name="id1150186"></a>
<a name="id1186217"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.description">Description</a>
</h6>
<p>
@ -36,7 +36,7 @@
Function Object</a> predicate and replacement object.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.synopsis"></a><h6>
<a name="id1150239"></a>
<a name="id1186271"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1150358"></a><p class="title"><b>Table<EFBFBD>1.76.<2E>Parameters</b></p>
<a name="id1186390"></a><p class="title"><b>Table<EFBFBD>1.77.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,40 +58,83 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Replacement predicate</td>
</p>
</td>
<td>
<p>
Replacement predicate
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">T</span></code></td>
<td>Any
type</td>
<td>The type of the replacement object</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">T</span></code>
</p>
</td>
<td>
<p>
Any type
</p>
</td>
<td>
<p>
The type of the replacement object
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics"></a><h6>
<a name="id1150468"></a>
<a name="id1186556"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.expression_semantics">Expression
Semantics</a>
</h6>
@ -108,14 +151,14 @@
<a href="../functions/replace_if.html" title="replace_if"><code class="computeroutput"><span class="identifier">replace_if</span></code></a>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.complexity"></a><h6>
<a name="id1150600"></a>
<a name="id1186690"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.replace_if.header"></a><h6>
<a name="id1150629"></a>
<a name="id1186720"></a>
<a href="replace_if.html#fusion.algorithms.transformation.metafunctions.replace_if.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.reverse"></a><a href="reverse.html" title="reverse">reverse</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.reverse.description"></a><h6>
<a name="id1151913"></a>
<a name="id1188106"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
type.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.synopsis"></a><h6>
<a name="id1151957"></a>
<a name="id1188151"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -47,7 +47,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1152045"></a><p class="title"><b>Table<EFBFBD>1.79.<2E>Parameters</b></p>
<a name="id1188241"></a><p class="title"><b>Table<EFBFBD>1.80.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -55,23 +55,45 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/bidirectional_sequence.html" title="Bidirectional
Sequence">Bidirectional
Sequence</a>
</td>
<td>Operation's argument</td>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr></tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.reverse.expression_semantics"></a><h6>
<a name="id1152113"></a>
<a name="id1188335"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.expression_semantics">Expression
Semantics</a>
</h6>
@ -88,14 +110,14 @@
elements in the reverse order to <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.complexity"></a><h6>
<a name="id1152224"></a>
<a name="id1205924"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.reverse.header"></a><h6>
<a name="id1152231"></a>
<a name="id1205931"></a>
<a href="reverse.html#fusion.algorithms.transformation.metafunctions.reverse.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.transform"></a><a href="transform.html" title="transform">transform</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.transform.description"></a><h6>
<a name="id1149133"></a>
<a name="id1185068"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.description">Description</a>
</h6>
<p>
@ -36,7 +36,7 @@
Object</a> types.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.synopsis"></a><h6>
<a name="id1149186"></a>
<a name="id1185122"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="special">};</span>
</pre>
<div class="table">
<a name="id1149291"></a><p class="title"><b>Table<EFBFBD>1.74.<2E>Parameters</b></p>
<a name="id1185227"></a><p class="title"><b>Table<EFBFBD>1.75.<2E>Parameters</b></p>
<table class="table" summary="Parameters">
<colgroup>
<col>
@ -58,33 +58,66 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a> </td>
<td>Operation's argument</td>
Sequence</a>
</p>
</td>
<td>
<p>
Operation's argument
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">F</span></code></td>
<td>A
model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">F</span></code>
</p>
</td>
<td>
<p>
A model of unary <a href="../../../functional/concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>Transformation function object</td>
</p>
</td>
<td>
<p>
Transformation function object
</p>
</td>
</tr>
</tbody>
</table>
</div>
<a name="fusion.algorithms.transformation.metafunctions.transform.expression_semantics"></a><h6>
<a name="id1149383"></a>
<a name="id1185361"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.expression_semantics">Expression
Semantics</a>
</h6>
@ -101,14 +134,14 @@
<code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;::</span><span class="identifier">type</span></code> for each element type <code class="computeroutput"><span class="identifier">E</span></code> in <code class="computeroutput"><span class="identifier">Sequence</span></code>.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.complexity"></a><h6>
<a name="id1149546"></a>
<a name="id1185529"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.transform.header"></a><h6>
<a name="id1149554"></a>
<a name="id1185536"></a>
<a href="transform.html#fusion.algorithms.transformation.metafunctions.transform.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.algorithms.transformation.metafunctions.zip"></a><a href="zip.html" title="zip">zip</a></h5></div></div></div>
<a name="fusion.algorithms.transformation.metafunctions.zip.description"></a><h6>
<a name="id1172991"></a>
<a name="id1209495"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.description">Description</a>
</h6>
<p>
@ -34,7 +34,7 @@
of the members of the component sequences.
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.synopsis"></a><h6>
<a name="id1173021"></a>
<a name="id1209525"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="special">};</span>
</pre>
<a name="fusion.algorithms.transformation.metafunctions.zip.expression_semantics"></a><h6>
<a name="id1173156"></a>
<a name="id1209661"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.expression_semantics">Expression
Semantics</a>
</h6>
@ -73,14 +73,14 @@
<span class="char">'c'</span><span class="special">))</span></code>
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.complexity"></a><h6>
<a name="id1173428"></a>
<a name="id1209941"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.complexity">Complexity</a>
</h6>
<p>
Constant.
</p>
<a name="fusion.algorithms.transformation.metafunctions.zip.header"></a><h6>
<a name="id1173456"></a>
<a name="id1209969"></a>
<a href="zip.html#fusion.algorithms.transformation.metafunctions.zip.header">Header</a>
</h6>
<pre class="programlisting">

View File

@ -37,6 +37,9 @@
Nov 17, 2006: Added <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant</span></code>
support.
</li>
<li>
Feb 15, 2007: Added functional module.
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -48,7 +48,7 @@
</li>
</ol></div>
<a name="fusion.extension.our_example"></a><h3>
<a name="id1181270"></a>
<a name="id1218124"></a>
<a href="extension.html#fusion.extension.our_example">Our example</a>
</h3>
<p>
@ -80,7 +80,7 @@
Start</a> guide.
</p>
<a name="fusion.extension.enabling_tag_dispatching"></a><h3>
<a name="id1181523"></a>
<a name="id1218380"></a>
<a href="extension.html#fusion.extension.enabling_tag_dispatching">Enabling Tag Dispatching</a>
</h3>
<p>
@ -121,7 +121,7 @@
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">fusion</span><span class="special">/</span><span class="identifier">sequence</span><span class="special">/</span><span class="identifier">adapted</span><span class="special">/</span><span class="identifier">mpl</span><span class="special">/</span><span class="identifier">tag_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.extension.designing_a_suitable_iterator"></a><h3>
<a name="id1181964"></a>
<a name="id1218830"></a>
<a href="extension.html#fusion.extension.designing_a_suitable_iterator">Designing a
suitable iterator</a>
</h3>
@ -184,7 +184,7 @@
clearer as we add features to our implementation.
</p>
<a name="fusion.extension.a_first_couple_of_instructive_features"></a><h3>
<a name="id1182531"></a>
<a name="id1219410"></a>
<a href="extension.html#fusion.extension.a_first_couple_of_instructive_features">A first
couple of instructive features</a>
</h3>
@ -319,16 +319,22 @@
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
<th align="left">Note</th>
</tr>
<tr><td align="left" valign="top"><p>
<tr><td align="left" valign="top">
<p>
</p>
<p>
Although there is a fair amount of left to do to produce a fully fledged
Fusion sequence, <a href="iterators/metafunctions/value_of.html" title="value_of"><code class="computeroutput"><span class="identifier">value_of</span></code></a> and <a href="iterators/functions/deref.html" title="deref"><code class="computeroutput"><span class="identifier">deref</span></code></a> illustrate all the signficant
concepts required. The remainder of the process is very repetitive, simply
requiring implementation of a suitable <code class="computeroutput"><span class="identifier">xxxx_impl</span></code>
for each feature <code class="computeroutput"><span class="identifier">xxxx</span></code>.
</p></td></tr>
</p>
<p>
</p>
</td></tr>
</table></div>
<a name="fusion.extension.implementing_the_remaining_iterator_functionality"></a><h3>
<a name="id1184536"></a>
<a name="id1221456"></a>
<a href="extension.html#fusion.extension.implementing_the_remaining_iterator_functionality">Implementing
the remaining iterator functionality</a>
</h3>
@ -383,7 +389,7 @@
are provided in the example code.
</p>
<a name="fusion.extension.implementing_the_intrinsic_functions_of_the_sequence"></a><h3>
<a name="id1185091"></a>
<a name="id1222031"></a>
<a href="extension.html#fusion.extension.implementing_the_intrinsic_functions_of_the_sequence">Implementing
the intrinsic functions of the sequence</a>
</h3>
@ -442,7 +448,7 @@
<code class="computeroutput"><span class="identifier">value_at_impl</span></code> and <code class="computeroutput"><span class="identifier">at_impl</span></code>.
</p>
<a name="fusion.extension.enabling_our_type_as_an_associative_container"></a><h3>
<a name="id1185610"></a>
<a name="id1222565"></a>
<a href="extension.html#fusion.extension.enabling_our_type_as_an_associative_container">Enabling
our type as an associative container</a>
</h3>
@ -508,7 +514,7 @@
of <code class="computeroutput"><span class="identifier">is_associative_impl</span></code>.
</p>
<a name="fusion.extension.summary"></a><h3>
<a name="id1186474"></a>
<a name="id1240928"></a>
<a href="extension.html#fusion.extension.summary">Summary</a>
</h3>
<p>

View File

@ -29,10 +29,12 @@
<dt><span class="section"><a href="functional/concepts.html">Concepts</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="functional/concepts/callable.html"> Callable Object</a></span></dt>
<dt><span class="section"><a href="functional/concepts/poly.html"> Polymorphic Function
<dt><span class="section"><a href="functional/concepts/reg_callable.html"> Regular Callable
Object</a></span></dt>
<dt><span class="section"><a href="functional/concepts/def_callable.html"> Deferred
Callable Object</a></span></dt>
<dt><span class="section"><a href="functional/concepts/poly.html"> Polymorphic Function
Object</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="functional/invocation.html">Invocation</a></span></dt>
<dd><dl>
@ -60,14 +62,14 @@
through a function object interface.
</p>
<a name="fusion.functional.header"></a><h3>
<a name="id1186571"></a>
<a name="id1241027"></a>
<a href="functional.html#fusion.functional.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">functional</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.fused_and_unfused_forms"></a><h3>
<a name="id1186644"></a>
<a name="id1241101"></a>
<a href="functional.html#fusion.functional.fused_and_unfused_forms">Fused and unfused
forms</a>
</h3>
@ -89,7 +91,7 @@
<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">my_sequence</span><span class="special">)</span>
</pre>
<p>
Alternatively it's possible to apply a simple transformation to <code class="literal">f</code>
Alternatively it is possible to apply a simple transformation to <code class="literal">f</code>
in order to achieve the same effect:
</p>
<pre class="programlisting">
@ -104,7 +106,7 @@
form of <code class="literal">f'</code>.
</p>
<a name="fusion.functional.calling_functions_and_function_objects"></a><h3>
<a name="id1186870"></a>
<a name="id1241336"></a>
<a href="functional.html#fusion.functional.calling_functions_and_function_objects">Calling
functions and function objects</a>
</h3>
@ -132,7 +134,7 @@
instance for the given argument.
</p>
<a name="fusion.functional.making_fusion_code_callable_through_a_function_object_interface"></a><h3>
<a name="id1186930"></a>
<a name="id1241396"></a>
<a href="functional.html#fusion.functional.making_fusion_code_callable_through_a_function_object_interface">Making
Fusion code callable through a function object interface</a>
</h3>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused"></a><a href="fused.html" title="fused">fused</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused.description"></a><h5>
<a name="id1209464"></a>
<a name="id1247382"></a>
<a href="fused.html#fusion.functional.adapters.fused.description">Description</a>
</h5>
<p>
@ -38,20 +38,14 @@
Sequence">Forward
Sequence</a> that contains the arguments for the target function.
</p>
<p>
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
does not define a <code class="computeroutput"><span class="identifier">type</span></code>
member for target functions of non-class type whose arity is not satisfied
by the size of the sequence.
</p>
<p>
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 <code class="literal">operator()</code> can be used
for an target function object that is const or, if the target function
object is held by value, the adapter is const - these semantics have nothing
to do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code>, which is specified
for a target function object that is const or, if the target function object
is held by value, the adapter is const - these semantics have nothing to
do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code> which is specified
with the first element in the sequence passed to the adapter).
</p>
<p>
@ -59,17 +53,17 @@
object can be specified as a reference, pointer, or smart pointer. In case
of the latter, a freestanding <code class="literal">get_pointer</code> function must
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<a name="fusion.functional.adapters.fused.header"></a><h5>
<a name="id1209607"></a>
<a name="id1247502"></a>
<a href="fused.html#fusion.functional.adapters.fused.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused.synopsis"></a><h5>
<a name="id1209698"></a>
<a name="id1247594"></a>
<a href="fused.html#fusion.functional.adapters.fused.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -77,7 +71,7 @@
<span class="keyword">class</span> <span class="identifier">fused</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused.template_parameters"></a><h5>
<a name="id1209767"></a>
<a name="id1247665"></a>
<a href="fused.html#fusion.functional.adapters.fused.template_parameters">Template
parameters</a>
</h5>
@ -88,22 +82,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
<a href="../concepts/def_callable.html" title=" Deferred
<td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
A <a href="../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>
</td>
<td><EFBFBD></td>
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused.model_of"></a><h5>
<a name="id1209843"></a>
<a name="id1247767"></a>
<a href="fused.html#fusion.functional.adapters.fused.model_of">Model of</a>
</h5>
<div class="itemizedlist"><ul type="disc">
@ -139,7 +154,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.fused.expression_semantics"></a><h5>
<a name="id1210015"></a>
<a name="id1247948"></a>
<a href="fused.html#fusion.functional.adapters.fused.expression_semantics">Expression
Semantics</a>
</h5>
@ -149,31 +164,61 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">r</span></code>.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
its arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused.example"></a><h5>
<a name="id1210197"></a>
<a name="id1248174"></a>
<a href="fused.html#fusion.functional.adapters.fused.example">Example</a>
</h5>
<pre class="programlisting">
@ -181,7 +226,7 @@
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">f</span><span class="special">(</span><a href="../../sequences/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">2l</span><span class="special">))</span> <span class="special">==</span> <span class="number">3l</span><span class="special">);</span>
</pre>
<a name="fusion.functional.adapters.fused.see_also"></a><h5>
<a name="id1210353"></a>
<a name="id1248331"></a>
<a href="fused.html#fusion.functional.adapters.fused.see_also">See also</a>
</h5>
<div class="itemizedlist"><ul type="disc">

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused_function_object"></a><a href="fused_function_object.html" title="fused_function_object">fused_function_object</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused_function_object.description"></a><h5>
<a name="id1211857"></a>
<a name="id1249910"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.description">Description</a>
</h5>
<p>
@ -38,10 +38,6 @@
Sequence">Forward
Sequence</a> that contains the arguments for the target function.
</p>
<p>
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
is inhertied from the target function.
</p>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
@ -50,14 +46,14 @@
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.fused_function_object.header"></a><h5>
<a name="id1211940"></a>
<a name="id1249979"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.synopsis"></a><h5>
<a name="id1212033"></a>
<a name="id1250074"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -65,7 +61,7 @@
<span class="keyword">class</span> <span class="identifier">fused_function_object</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.template_parameters"></a><h5>
<a name="id1212105"></a>
<a name="id1250147"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.template_parameters">Template
parameters</a>
</h5>
@ -76,21 +72,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>
<a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function Object</a>
type</td>
<td><EFBFBD></td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
<a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> type
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused_function_object.model_of"></a><h5>
<a name="id1212179"></a>
<a name="id1250248"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.model_of">Model
of</a>
</h5>
@ -127,7 +145,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.fused_function_object.expression_semantics"></a><h5>
<a name="id1212354"></a>
<a name="id1250433"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.expression_semantics">Expression
Semantics</a>
</h5>
@ -137,31 +155,61 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates a fused function
as described above, initializes the target function with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">r</span></code>.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates a fused
function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s
default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused_function_object</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
its arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused_function_object.example"></a><h5>
<a name="id1212537"></a>
<a name="id1250660"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.example">Example</a>
</h5>
<pre class="programlisting">
@ -176,11 +224,12 @@
<span class="keyword">struct</span> <span class="identifier">sub</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">,</span> <span class="keyword">typename</span> <span class="identifier">_</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">&gt;</span>
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
@ -198,7 +247,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.fused_function_object.see_also"></a><h5>
<a name="id1213367"></a>
<a name="id1251594"></a>
<a href="fused_function_object.html#fusion.functional.adapters.fused_function_object.see_also">See
also</a>
</h5>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.fused_procedure"></a><a href="fused_procedure.html" title="fused_procedure">fused_procedure</a></h4></div></div></div>
<a name="fusion.functional.adapters.fused_procedure.description"></a><h5>
<a name="id1210465"></a>
<a name="id1248449"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.description">Description</a>
</h5>
<p>
@ -39,19 +39,15 @@
</p>
<p>
The result is discared and the adapter's return type is <code class="computeroutput"><span class="keyword">void</span></code>.
The nested <code class="computeroutput"><span class="identifier">result</span></code> metafunction
does not define a <code class="computeroutput"><span class="identifier">type</span></code>
member for target functions of non-class type whose arity is not satisfied
by the size of the sequence.
</p>
<p>
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 <code class="literal">operator()</code> can be used
for an target function object that is const or, if the target function
object is held by value, the adapter is const - these semantics have nothing
to do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code>, which is specified
for a target function object that is const or, if the target function object
is held by value, the adapter is const - these semantics have nothing to
do with the const qualification of a member function, which is referring
to the type of object pointed to by <code class="literal">this</code> which is specified
with the first element in the sequence passed to the adapter).
</p>
<p>
@ -59,22 +55,22 @@
object can be specified as a reference, pointer, or smart pointer. In case
of the latter, a freestanding <code class="literal">get_pointer</code> function must
be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<p>
The target function must not be a pointer to a member object (dereferencing
such a pointer without returning anything does not make sense, so it isn't
implemented).
such a pointer without returning anything does not make sense, so this
case is not implemented).
</p>
<a name="fusion.functional.adapters.fused_procedure.header"></a><h5>
<a name="id1210626"></a>
<a name="id1248591"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.synopsis"></a><h5>
<a name="id1210718"></a>
<a name="id1248685"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -82,7 +78,7 @@
<span class="keyword">class</span> <span class="identifier">fused_procedure</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.template_parameters"></a><h5>
<a name="id1210788"></a>
<a name="id1248756"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.template_parameters">Template
parameters</a>
</h5>
@ -93,20 +89,42 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>
<a href="../concepts/callable.html" title=" Callable Object">Callable Object</a>
type</td>
<td><EFBFBD></td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
<a href="../concepts/callable.html" title=" Callable Object">Callable Object</a>
type
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.fused_procedure.model_of"></a><h5>
<a name="id1210862"></a>
<a name="id1248857"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.model_of">Model
of</a>
</h5>
@ -142,7 +160,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.fused_procedure.expression_semantics"></a><h5>
<a name="id1211036"></a>
<a name="id1249041"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.expression_semantics">Expression
Semantics</a>
</h5>
@ -152,31 +170,61 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code></td>
<td>Creates a fused function
as described above, initializes the target function with <code class="computeroutput"><span class="identifier">r</span></code>.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;(</span><span class="identifier">r</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">r</span></code>.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code></td>
<td>Creates a fused
function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s
default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">fused_procedure</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">R</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code></td>
<td>Calls
<code class="computeroutput"><span class="identifier">r</span></code> with the elements
in <code class="computeroutput"><span class="identifier">s</span></code> as its arguments.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">s</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">r</span></code> with the
elements in <code class="computeroutput"><span class="identifier">s</span></code> as
its arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.fused_procedure.example"></a><h5>
<a name="id1211220"></a>
<a name="id1249268"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.example">Example</a>
</h5>
<pre class="programlisting">
@ -197,7 +245,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.fused_procedure.see_also"></a><h5>
<a name="id1211758"></a>
<a name="id1249808"></a>
<a href="fused_procedure.html#fusion.functional.adapters.fused_procedure.see_also">See
also</a>
</h5>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_generic"></a><a href="unfused_generic.html" title="unfused_generic">unfused_generic</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_generic.description"></a><h5>
<a name="id1213482"></a>
<a name="id1251715"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.description">Description</a>
</h5>
<p>
@ -41,38 +41,12 @@
Non-const LValue arguments are transported as references to non-const,
otherwise references to const are used.
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
Detecting mutable LValues on a per-argument basis is currently a compile
time expensive operation (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> Detecting mutable LValues on a per-argument basis
is currently a compile time expensive operation (see <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1385.htm" target="_top">The
Forwarding Problem</a> for details). Therefore, there are two, lightweight
and more restricted variants of this class template, <a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a> and <a href="unfused_rvalue_args.html" title="unfused_rvalue_args"><code class="computeroutput"><span class="identifier">unfused_rvalue_args</span></code></a>.
</p></td></tr>
</table></div>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary case and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
</p></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
@ -81,14 +55,14 @@
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_generic.header"></a><h5>
<a name="id1213642"></a>
<a name="id1251857"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.synopsis"></a><h5>
<a name="id1213736"></a>
<a name="id1251952"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -96,7 +70,7 @@
<span class="keyword">class</span> <span class="identifier">unfused_generic</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.template_parameters"></a><h5>
<a name="id1213806"></a>
<a name="id1252023"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.template_parameters">Template
parameters</a>
</h5>
@ -107,22 +81,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>An
unary <a href="../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
An unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_generic.model_of"></a><h5>
<a name="id1213881"></a>
<a name="id1252124"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.model_of">Model
of</a>
</h5>
@ -163,7 +158,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.unfused_generic.expression_semantics"></a><h5>
<a name="id1214088"></a>
<a name="id1252346"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.expression_semantics">Expression
Semantics</a>
</h5>
@ -173,56 +168,88 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UG</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UG</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">UG</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ug</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
<p>
<code class="computeroutput"><span class="identifier">UG</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">ug</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_generic.example"></a><h5>
<a name="id1214276"></a>
<a name="id1252581"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.example">Example</a>
</h5>
<pre class="programlisting">
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">fused_bound_1st</span>
<span class="special">{</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fnc_deferred</span><span class="special">;</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><a href="../../support/deduce.html" title="deduce"><code class="computeroutput"><span class="identifier">deduce</span></code></a><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">xxx_bound</span><span class="special">;</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special">&lt;</span><span class="identifier">Function</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">fnc_deferred</span><span class="special">;</span>
<span class="keyword">typename</span> <span class="identifier">traits</span><span class="special">::</span><span class="identifier">deduce</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">xxx_bound</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="identifier">fused_bound_1st</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">deferred</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">bound</span><span class="special">)</span>
<span class="special">:</span> <span class="identifier">fnc_deferred</span><span class="special">(</span><span class="identifier">deferred</span><span class="special">),</span> <span class="identifier">xxx_bound</span><span class="special">(</span><span class="identifier">bound</span><span class="special">)</span>
<span class="special">{</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">:</span> <a href="../invocation/metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a><span class="special">&lt;</span> <span class="identifier">Function</span><span class="special">,</span>
<span class="keyword">typename</span> <a href="../../algorithms/transformation/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">Seq</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">&gt;</span>
<span class="special">:</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span><span class="special">&lt;</span> <span class="identifier">Function</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">push_front</span><span class="special">&lt;</span>
<span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
<span class="special">{</span> <span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<span class="keyword">return</span> <a href="../invocation/functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a><span class="special">(</span><span class="identifier">fnc_deferred</span><span class="special">,</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">xxx_bound</span><span class="special">));</span>
<span class="keyword">return</span> <span class="identifier">invoke</span><span class="special">(</span><span class="identifier">fnc_deferred</span><span class="special">,</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">s</span><span class="special">,</span><span class="identifier">xxx_bound</span><span class="special">));</span>
<span class="special">}</span>
<span class="special">};</span>
@ -242,11 +269,11 @@
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(&amp;</span> <span class="identifier">test_func</span><span class="special">,</span><span class="number">3</span><span class="special">)(-</span><span class="number">2</span><span class="special">,-</span><span class="number">1</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(</span><a href="http://www.sgi.com/tech/stl/plus.html" target="_top"><code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span></code></a><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="number">1</span><span class="special">)(</span><span class="number">0.5f</span><span class="special">)</span> <span class="special">==</span> <span class="number">1.5f</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">bind_1st</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">plus</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;(),</span> <span class="number">1</span><span class="special">)(</span><span class="number">0.5f</span><span class="special">)</span> <span class="special">==</span> <span class="number">1.5f</span><span class="special">);</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_generic.see_also"></a><h5>
<a name="id1215428"></a>
<a name="id1253810"></a>
<a href="unfused_generic.html#fusion.functional.adapters.unfused_generic.see_also">See
also</a>
</h5>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_lvalue_args"></a><a href="unfused_lvalue_args.html" title="unfused_lvalue_args">unfused_lvalue_args</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.description"></a><h5>
<a name="id1215560"></a>
<a name="id1253949"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.description">Description</a>
</h5>
<p>
@ -40,26 +40,6 @@
Access Sequence</a> of references that is passed to the target function
object. Only LValue arguments are accepted.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
@ -68,14 +48,14 @@
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_lvalue_args.header"></a><h5>
<a name="id1215668"></a>
<a name="id1254020"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.synopsis"></a><h5>
<a name="id1215761"></a>
<a name="id1254115"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -83,7 +63,7 @@
<span class="keyword">class</span> <span class="identifier">unfused_lvalue_args</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.template_parameters"></a><h5>
<a name="id1215834"></a>
<a name="id1254189"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.template_parameters">Template
parameters</a>
</h5>
@ -94,22 +74,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.model_of"></a><h5>
<a name="id1215908"></a>
<a name="id1254289"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.model_of">Model
of</a>
</h5>
@ -150,7 +151,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.unfused_lvalue_args.expression_semantics"></a><h5>
<a name="id1216118"></a>
<a name="id1254514"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.expression_semantics">Expression
Semantics</a>
</h5>
@ -160,32 +161,61 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">UL</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
<p>
<code class="computeroutput"><span class="identifier">UL</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">ul</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_lvalue_args.example"></a><h5>
<a name="id1216306"></a>
<a name="id1254749"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.example">Example</a>
</h5>
<pre class="programlisting">
@ -213,7 +243,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_lvalue_args.see_also"></a><h5>
<a name="id1216745"></a>
<a name="id1255190"></a>
<a href="unfused_lvalue_args.html#fusion.functional.adapters.unfused_lvalue_args.see_also">See
also</a>
</h5>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_rvalue_args"></a><a href="unfused_rvalue_args.html" title="unfused_rvalue_args">unfused_rvalue_args</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.description"></a><h5>
<a name="id1216842"></a>
<a name="id1255290"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.description">Description</a>
</h5>
<p>
@ -40,26 +40,6 @@
Access Sequence</a> of references that is passed to the target function
object. All referenced objects in the sequence are const qualified.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the nullary call operator cannot be a template it will be instantiated
along with the class template, so it must be disabled (as described above)
in cases where it isn't instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
@ -68,14 +48,14 @@
object is held by value, the adapter is const).
</p>
<a name="fusion.functional.adapters.unfused_rvalue_args.header"></a><h5>
<a name="id1216950"></a>
<a name="id1255362"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.synopsis"></a><h5>
<a name="id1217043"></a>
<a name="id1255457"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -83,7 +63,7 @@
<span class="keyword">class</span> <span class="identifier">unfused_rvalue_args</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.template_parameters"></a><h5>
<a name="id1217116"></a>
<a name="id1255531"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.template_parameters">Template
parameters</a>
</h5>
@ -94,22 +74,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</p>
</td>
<td>
<p>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.model_of"></a><h5>
<a name="id1217191"></a>
<a name="id1255632"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.model_of">Model
of</a>
</h5>
@ -150,7 +151,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.unfused_rvalue_args.expression_semantics"></a><h5>
<a name="id1217401"></a>
<a name="id1255857"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.expression_semantics">Expression
Semantics</a>
</h5>
@ -160,32 +161,61 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UR</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UR</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">UR</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ur</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with a <a href="../../sequences.html" title="Sequences">Sequence</a>
that contains references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
<p>
<code class="computeroutput"><span class="identifier">UR</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">ur</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">f</span></code> with a
<a href="../../sequences.html" title="Sequences">Sequence</a> that contains
references to the arguments <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_rvalue_args.example"></a><h5>
<a name="id1217589"></a>
<a name="id1256092"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.example">Example</a>
</h5>
<pre class="programlisting">
@ -211,7 +241,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_rvalue_args.see_also"></a><h5>
<a name="id1217941"></a>
<a name="id1256446"></a>
<a href="unfused_rvalue_args.html#fusion.functional.adapters.unfused_rvalue_args.see_also">See
also</a>
</h5>

View File

@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.adapters.unfused_typed"></a><a href="unfused_typed.html" title="unfused_typed">unfused_typed</a></h4></div></div></div>
<a name="fusion.functional.adapters.unfused_typed.description"></a><h5>
<a name="id1218072"></a>
<a name="id1256583"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.description">Description</a>
</h5>
<p>
@ -46,26 +46,6 @@
where N is the size of the <a href="../../sequences.html" title="Sequences">Sequence</a>
that specifies the types.
</p>
<p>
The overload set of the adapter's function call operator can be restricted
by removing the <code class="computeroutput"><span class="identifier">type</span></code> member
from the nested result metafunction of the <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a> (in this case the substitution-failure-is-not-an-error
principle applies for non-nullary calls and nullary calls are explicitly
disabled by the library).
</p>
<div class="caution"><table border="0" summary="Caution">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../images/caution.png"></td>
<th align="left">Caution</th>
</tr>
<tr><td align="left" valign="top"><p>
As the function call operators are not templates, they are instantiated
along with the class template, so they must be disabled (as described
above) in cases where they are not instantiable.
</p></td></tr>
</table></div>
<p>
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
@ -73,26 +53,26 @@
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="../../../images/tip.png"></td>
<th align="left">Tip</th>
</tr>
<tr><td align="left" valign="top"><p>
If the type sequence passed to this template contains non-reference elements,
the element is copied only once - the call operator's signature is optimized
automatically to avoid by-value parameters.
</p></td></tr>
</table></div>
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../../images/note.png" alt="note"></span> For Microsoft Visual C++ 7.1 (Visual Studio 2003)
the detection of the Function Object's const qualification easily causes
an internal error. Therefore the adapter is always treated as if it was
const.
</p></div>
<div class="sidebar"><p>
<span class="inlinemediaobject"><img src="../../../images/tip.png" alt="tip"></span> If the type sequence passed to this template contains
non-reference elements, the element is copied only once - the call operator's
signature is optimized automatically to avoid by-value parameters.
</p></div>
<a name="fusion.functional.adapters.unfused_typed.header"></a><h5>
<a name="id1218212"></a>
<a name="id1256729"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.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">functional</span><span class="special">/</span><span class="identifier">adapter</span><span class="special">/</span><span class="identifier">unfused_typed</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.synopsis"></a><h5>
<a name="id1218304"></a>
<a name="id1256822"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.synopsis">Synopsis</a>
</h5>
<pre class="programlisting">
@ -100,7 +80,7 @@
<span class="keyword">class</span> <span class="identifier">unfused_typed</span><span class="special">;</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.template_parameters"></a><h5>
<a name="id1218390"></a>
<a name="id1256909"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.template_parameters">Template
parameters</a>
</h5>
@ -111,31 +91,61 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Description</th>
<th>Default</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Description
</p>
</th>
<th>
<p>
Default
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">Function</span></code></td>
<td>A
unary <a href="../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">Function</span></code>
</p>
</td>
<td>
<p>
A unary <a href="../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td><EFBFBD></td>
</p>
</td>
<td>
<p>
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">Sequence</span></code></td>
<td>A
<a href="../../sequences.html" title="Sequences">Sequence</a>
</td>
<td><EFBFBD></td>
<td>
<p>
<code class="computeroutput"><span class="identifier">Sequence</span></code>
</p>
</td>
<td>
<p>
A <a href="../../sequences.html" title="Sequences">Sequence</a>
</p>
</td>
<td>
<p>
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_typed.model_of"></a><h5>
<a name="id1218488"></a>
<a name="id1257049"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.model_of">Model
of</a>
</h5>
@ -181,7 +191,7 @@
</dl>
</div>
<a name="fusion.functional.adapters.unfused_typed.expression_semantics"></a><h5>
<a name="id1218736"></a>
<a name="id1257315"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.expression_semantics">Expression
Semantics</a>
</h5>
@ -191,33 +201,63 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code></td>
<td>Creates
a fused function as described above, initializes the target function
with <code class="computeroutput"><span class="identifier">f</span></code>.</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></code></td>
<td>Creates
a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">UT</span><span class="special">(</span><span class="identifier">f</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, initializes the target
function with <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<code class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</td>
<td>Calls <code class="computeroutput"><span class="identifier">f</span></code> with an instance of <code class="computeroutput"><span class="identifier">S</span></code> (or a subsequence of <code class="computeroutput"><span class="identifier">S</span></code> starting at the first element,
if fewer arguments are given and the overload hasn't been disabled)
initialized with <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.</td>
<p>
<code class="computeroutput"><span class="identifier">UT</span><span class="special">()</span></code>
</p>
</td>
<td>
<p>
Creates a fused function as described above, attempts to use <code class="computeroutput"><span class="identifier">F</span></code>'s default constructor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">ut</span><span class="special">(</span><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Calls <code class="computeroutput"><span class="identifier">f</span></code> with an
instance of <code class="computeroutput"><span class="identifier">S</span></code> (or
a subsequence of <code class="computeroutput"><span class="identifier">S</span></code>
starting at the first element, if fewer arguments are given and
the overload hasn't been disabled) initialized with <code class="computeroutput"><span class="identifier">a0</span></code>...<code class="computeroutput"><span class="identifier">aN</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.adapters.unfused_typed.example"></a><h5>
<a name="id1218936"></a>
<a name="id1257565"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.example">Example</a>
</h5>
<pre class="programlisting">
@ -241,38 +281,40 @@
<span class="special">:</span> <span class="identifier">tie_dest</span><span class="special">(</span><span class="identifier">dest</span><span class="special">)</span>
<span class="special">{</span> <span class="special">}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
<span class="special">{</span>
<a href="../../algorithms/iteration/functions/for_each.html" title="for_each"><code class="computeroutput"><span class="identifier">for_each</span></code></a><span class="special">(</span><a href="../../algorithms/transformation/functions/zip.html" title="zip"><code class="computeroutput"><span class="identifier">zip</span></code></a><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <a href="fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a><span class="special">&lt;</span><span class="identifier">add_assign</span><span class="special">&gt;()</span> <span class="special">);</span>
<span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">zip</span><span class="special">(</span><span class="identifier">tie_dest</span><span class="special">,</span><span class="identifier">s</span><span class="special">),</span> <span class="identifier">fused</span><span class="special">&lt;</span><span class="identifier">add_assign</span><span class="special">&gt;()</span> <span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="comment">// accepts a tie and creates a typed function object from it
</span><span class="keyword">struct</span> <span class="identifier">fused_parallel_adder_maker</span>
<span class="special">{</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">&gt;</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special">&lt;</span><span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;,</span>
<span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">seq</span><span class="special">;</span>
<span class="keyword">typedef</span> <span class="identifier">unfused_typed</span><span class="special">&lt;</span> <span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">seq</span><span class="special">&gt;,</span>
<span class="keyword">typename</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">transform</span><span class="special">&lt;</span><span class="identifier">seq</span><span class="special">,</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">_</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">tie</span><span class="special">)</span>
<span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">tie</span><span class="special">)</span>
<span class="special">{</span>
<span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">(</span><span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;(</span><span class="identifier">tie</span><span class="special">));</span>
<span class="keyword">return</span> <span class="keyword">typename</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">Seq</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span><span class="special">(</span>
<span class="identifier">fused_parallel_adder</span><span class="special">&lt;</span><span class="identifier">Seq</span><span class="special">&gt;(</span><span class="identifier">tie</span><span class="special">)</span> <span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<a href="unfused_lvalue_args.html" title="unfused_lvalue_args"><code class="computeroutput"><span class="identifier">unfused_lvalue_args</span></code></a><span class="special">&lt;</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">&gt;</span> <span class="identifier">parallel_add</span><span class="special">;</span>
<span class="identifier">unfused_lvalue_args</span><span class="special">&lt;</span><span class="identifier">fused_parallel_adder_maker</span><span class="special">&gt;</span> <span class="identifier">parallel_add</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
<span class="keyword">void</span> <span class="identifier">try_it</span><span class="special">()</span>
<span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">a</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="keyword">char</span> <span class="identifier">b</span> <span class="special">=</span> <span class="char">'X'</span><span class="special">;</span>
<span class="comment">// the second call is strictly typed with the types deduced from the
@ -281,12 +323,10 @@
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)(</span><span class="number">3</span><span class="special">);</span>
<span class="identifier">parallel_add</span><span class="special">(</span><span class="identifier">a</span><span class="special">,</span><span class="identifier">b</span><span class="special">)();</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">a</span> <span class="special">==</span> <span class="number">8</span> <span class="special">&amp;&amp;</span> <span class="identifier">b</span> <span class="special">==</span> <span class="char">'Z'</span><span class="special">);</span>
<span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<a name="fusion.functional.adapters.unfused_typed.see_also"></a><h5>
<a name="id1220179"></a>
<a name="id1276358"></a>
<a href="unfused_typed.html#fusion.functional.adapters.unfused_typed.see_also">See also</a>
</h5>
<div class="itemizedlist"><ul type="disc">

View File

@ -27,10 +27,12 @@
<a name="fusion.functional.concepts"></a><a href="concepts.html" title="Concepts">Concepts</a></h3></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="concepts/callable.html"> Callable Object</a></span></dt>
<dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
<dt><span class="section"><a href="concepts/reg_callable.html"> Regular Callable
Object</a></span></dt>
<dt><span class="section"><a href="concepts/def_callable.html"> Deferred
Callable Object</a></span></dt>
<dt><span class="section"><a href="concepts/poly.html"> Polymorphic Function
Object</a></span></dt>
</dl></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@ -7,7 +7,7 @@
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="../concepts.html" title="Concepts">
<link rel="next" href="poly.html" title=" Polymorphic Function
<link rel="next" href="reg_callable.html" title=" Regular Callable
Object">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -21,17 +21,35 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="fusion.functional.concepts.callable"></a><a href="callable.html" title=" Callable Object"> Callable Object</a></h4></div></div></div>
<a name="fusion.functional.concepts.callable.description"></a><h5>
<a name="id1241477"></a>
<a href="callable.html#fusion.functional.concepts.callable.description">Description</a>
</h5>
<p>
A pointer to a function, a pointer to member function, a pointer to member
data, or a class type whose objects can appear immediately to the left
of a function call operator.
</p>
<a name="fusion.functional.concepts.callable.models"></a><h5>
<a name="id1241505"></a>
<a href="callable.html#fusion.functional.concepts.callable.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc">
<li>
function pointer types
</li>
<li>
member (function or data) pointer types
</li>
<li>
all kinds of function objects
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@ -40,7 +58,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="../concepts.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="reg_callable.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -7,9 +7,10 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="poly.html" title=" Polymorphic Function
<link rel="prev" href="reg_callable.html" title=" Regular Callable
Object">
<link rel="next" href="poly.html" title=" Polymorphic Function
Object">
<link rel="next" href="../invocation.html" title="Invocation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
@ -22,7 +23,7 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="poly.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="reg_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
@ -30,37 +31,58 @@
Callable Object"> Deferred
Callable Object</a></h4></div></div></div>
<a name="fusion.functional.concepts.def_callable.description"></a><h5>
<a name="id1187426"></a>
<a name="id1241924"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.description">Description</a>
</h5>
<p>
<a href="callable.html" title=" Callable Object">Callable Object</a>
that works with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a>
to determine the result of a call (such as the function objects provided
by the standard library).
types that work with <a href="http://www.boost.org/libs/utility/utility.htm#result_of" target="_top">Boost.ResultOf</a>
to determine the result of a call.
</p>
<a name="fusion.functional.concepts.def_callable.refinement_of"></a><h5>
<a name="id1187469"></a>
<a name="id1241966"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.refinement_of">Refinement
of</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
<div class="sidebar"><p>
note Once C++ supports the <code class="literal">decltype</code> keyword, all models
of <a href="callable.html" title=" Callable Object">Callable Object</a>
will also be models of <a href="def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>, because function objects won't need client-side
support for <code class="computeroutput"><span class="identifier">result_of</span></code>.
</p></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A Deferred Callable Object type
A possibly const qualified Deferred Callable Object type
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span>
<span class="special">...</span><span class="identifier">AN</span></code></span></dt>
<dd>
Argument types
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span>
<span class="special">...</span><span class="identifier">aN</span></code></span></dt>
<dd>
Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span>
<span class="special">...</span><span class="identifier">AN</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
<dd>
Arbitrary types
<code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i
<code class="computeroutput"><span class="special">&amp;</span></code> if <code class="computeroutput"><span class="identifier">a</span></code>i
is an LValue, same as <code class="computeroutput"><span class="identifier">A</span></code>i,
otherwise
</dd>
</dl>
</div>
<a name="fusion.functional.concepts.def_callable.expression_requirements"></a><h5>
<a name="id1187555"></a>
<a name="id1242224"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.expression_requirements">Expression
requirements</a>
</h5>
@ -70,23 +92,47 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Type</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Type
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<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><code class="computeroutput"><span class="special">&lt;</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>
</td>
<td>Unspecified</td>
<p>
<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><code class="computeroutput"><span class="special">&lt;</span> <span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>
</p>
</td>
<td>
<p>
Result of a call with <code class="computeroutput"><span class="identifier">A1</span>
<span class="special">...</span><span class="identifier">AN</span></code>-typed
arguments
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.concepts.def_callable.models"></a><h5>
<a name="id1187678"></a>
<a name="id1242387"></a>
<a href="def_callable.html#fusion.functional.concepts.def_callable.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li>
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
</li></ul></div>
<div class="itemizedlist"><ul type="disc">
<li>
<a href="poly.html" title=" Polymorphic Function
Object">Polymorphic Function
Object</a> types
</li>
<li>
member (function or data) pointer types
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@ -95,7 +141,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="poly.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="reg_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="poly.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -7,9 +7,9 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../concepts.html" title="Concepts">
<link rel="prev" href="callable.html" title=" Callable Object">
<link rel="next" href="def_callable.html" title=" Deferred
<link rel="prev" href="def_callable.html" title=" Deferred
Callable Object">
<link rel="next" href="../invocation.html" title="Invocation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
@ -22,7 +22,7 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="def_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h4 class="title">
@ -30,45 +30,61 @@
Object"> Polymorphic Function
Object</a></h4></div></div></div>
<a name="fusion.functional.concepts.poly.description"></a><h5>
<a name="id1187036"></a>
<a name="id1242444"></a>
<a href="poly.html#fusion.functional.concepts.poly.description">Description</a>
</h5>
<p>
A type of function object with a nested metafunction <code class="computeroutput"><span class="identifier">result</span></code>.
<code class="computeroutput"><span class="identifier">result</span></code> returns the result
type of calling the function object, given the argument types.
A non-member-pointer <a href="def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a> type.
</p>
<a name="fusion.functional.concepts.poly.refinement_of"></a><h5>
<a name="id1187082"></a>
<a name="id1242478"></a>
<a href="poly.html#fusion.functional.concepts.poly.refinement_of">Refinement
of</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li><a href="callable.html" title=" Callable Object">Callable Object</a></li></ul></div>
<div class="itemizedlist"><ul type="disc">
<li><a href="reg_callable.html" title=" Regular Callable
Object">Regular Callable
Object</a></li>
<li><a href="def_callable.html" title=" Deferred
Callable Object">Deferred Callable
Object</a></li>
</ul></div>
<div class="variablelist">
<p class="title"><b>Notation</b></p>
<dl>
<dt><span class="term"><code class="computeroutput"><span class="identifier">F</span></code></span></dt>
<dd>
A Polymorphic Function Object type
A possibly const-qualified Polymorphic Function Object type
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">f</span></code></span></dt>
<dd>
A Polymorphic Function Object
An object or reference to an object of type F
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">A1</span>
<span class="special">...</span><span class="identifier">AN</span></code></span></dt>
<dd>
Argument types
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">a1</span>
<span class="special">...</span><span class="identifier">aN</span></code></span></dt>
<dd>
Objects or references to objects with types <code class="computeroutput"><span class="identifier">A1</span>
<span class="special">...</span><span class="identifier">AN</span></code>
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">T1</span>
<span class="special">...</span><span class="identifier">TN</span></code></span></dt>
<dd>
Arbitrary types
<code class="computeroutput"><span class="identifier">T</span></code>i is <code class="computeroutput"><span class="identifier">A</span></code>i
<code class="computeroutput"><span class="special">&amp;</span></code> if <code class="computeroutput"><span class="identifier">a</span></code>i
is an LValue, same as <code class="computeroutput"><span class="identifier">A</span></code>i,
otherwise
</dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">t1</span>
<span class="special">...</span><span class="identifier">tN</span></code></span></dt>
<dd>
Objects with types <code class="computeroutput"><span class="identifier">T1</span> <span class="special">...</span><span class="identifier">TN</span></code>
</dd>
</dl>
</div>
<a name="fusion.functional.concepts.poly.expression_requirements"></a><h5>
<a name="id1187226"></a>
<a name="id1242720"></a>
<a href="poly.html#fusion.functional.concepts.poly.expression_requirements">Expression
requirements</a>
</h5>
@ -79,24 +95,58 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Return Type</th>
<th>Runtime
Complexity</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Return Type
</p>
</th>
<th>
<p>
Runtime Complexity
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">t1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">tN</span><span class="special">)</span></code></td>
<td><code class="computeroutput"><span class="identifier">F</span><span class="special">::</span><span class="identifier">result</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="special">...</span><span class="identifier">TN</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Unspecified</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span><span class="special">(</span><span class="identifier">a1</span><span class="special">,</span>
<span class="special">...</span><span class="identifier">aN</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">result_of</span><span class="special">&lt;</span>
<span class="identifier">F</span><span class="special">(</span><span class="identifier">T1</span><span class="special">,</span>
<span class="special">...</span><span class="identifier">TN</span><span class="special">)</span> <span class="special">&gt;::</span><span class="identifier">type</span></code>
</p>
</td>
<td>
<p>
Unspecified
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.concepts.poly.models"></a><h5>
<a name="id1187369"></a>
<a name="id1242898"></a>
<a href="poly.html#fusion.functional.concepts.poly.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc"><li>
<div class="itemizedlist"><ul type="disc">
<li>
function pointers
</li>
<li>
function objects of the Standard Library
</li>
<li>
all Fusion <a href="../adapters.html" title=" Adapters">functional adapters</a>
</li></ul></div>
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
@ -105,7 +155,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="def_callable.html"><img src="../../../images/next.png" alt="Next"></a>
<a accesskey="p" href="def_callable.html"><img src="../../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../invocation.html"><img src="../../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -30,7 +30,7 @@
make_fused">
make_fused</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_fused.description"></a><h6>
<a name="id1220346"></a>
<a name="id1276532"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.description">Description</a>
</h6>
<p>
@ -40,7 +40,7 @@
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_fused.synopsis"></a><h6>
<a name="id1220406"></a>
<a name="id1276593"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -50,7 +50,7 @@
<span class="identifier">make_fused</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>
<a name="fusion.functional.generation.functions.mk_fused.parameters"></a><h6>
<a name="id1220540"></a>
<a name="id1276729"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -60,22 +60,44 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/def_callable.html" title=" Deferred
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_fused.expression_semantics"></a><h6>
<a name="id1220619"></a>
<a name="id1276834"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.expression_semantics">Expression
Semantics</a>
</h6>
@ -89,14 +111,14 @@
<span class="bold"><strong>Semantics</strong></span>: Returns a <a href="../../adapters/fused.html" title="fused"><code class="computeroutput"><span class="identifier">fused</span></code></a> adapter for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_fused.header"></a><h6>
<a name="id1220722"></a>
<a name="id1276944"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused.example"></a><h6>
<a name="id1220815"></a>
<a name="id1277038"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.example">Example</a>
</h6>
<pre class="programlisting">
@ -112,7 +134,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused.see_also"></a><h6>
<a name="id1221350"></a>
<a name="id1277574"></a>
<a href="mk_fused.html#fusion.functional.generation.functions.mk_fused.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_fused_function_object">
make_fused_function_object</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_fused_fobj.description"></a><h6>
<a name="id1222264"></a>
<a name="id1278533"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.description">Description</a>
</h6>
<p>
@ -42,7 +42,7 @@
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_fused_fobj.synopsis"></a><h6>
<a name="id1222324"></a>
<a name="id1278595"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -52,7 +52,7 @@
<span class="identifier">make_fused_function_object</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>
<a name="fusion.functional.generation.functions.mk_fused_fobj.parameters"></a><h6>
<a name="id1222459"></a>
<a name="id1278731"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -62,22 +62,44 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_fused_fobj.expression_semantics"></a><h6>
<a name="id1222538"></a>
<a name="id1278837"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.expression_semantics">Expression
Semantics</a>
</h6>
@ -92,24 +114,25 @@
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_fused_fobj.header"></a><h6>
<a name="id1222644"></a>
<a name="id1278948"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused_fobj.example"></a><h6>
<a name="id1222737"></a>
<a name="id1279043"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">sub</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">,</span> <span class="keyword">typename</span> <span class="identifier">_</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">&gt;</span>
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
@ -127,7 +150,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused_fobj.see_also"></a><h6>
<a name="id1223288"></a>
<a name="id1279698"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.functions.mk_fused_fobj.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_fused_procedure">
make_fused_procedure</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_fused_proc.description"></a><h6>
<a name="id1221452"></a>
<a name="id1277680"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.description">Description</a>
</h6>
<p>
@ -42,7 +42,7 @@
conversion</em></span></a> applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_fused_proc.synopsis"></a><h6>
<a name="id1221512"></a>
<a name="id1277741"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -52,7 +52,7 @@
<span class="identifier">make_fused_procedure</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>
<a name="fusion.functional.generation.functions.mk_fused_proc.parameters"></a><h6>
<a name="id1221647"></a>
<a name="id1277878"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -62,21 +62,43 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/callable.html" title=" Callable Object">Callable
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/callable.html" title=" Callable Object">Callable
Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_fused_proc.expression_semantics"></a><h6>
<a name="id1221726"></a>
<a name="id1277984"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.expression_semantics">Expression
Semantics</a>
</h6>
@ -91,14 +113,14 @@
<code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_fused_proc.header"></a><h6>
<a name="id1221829"></a>
<a name="id1278092"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused_proc.example"></a><h6>
<a name="id1221922"></a>
<a name="id1278186"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.example">Example</a>
</h6>
<pre class="programlisting">
@ -108,7 +130,7 @@
<span class="identifier">assert</span><span class="special">(</span><a href="../../../sequences/intrinsics/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span>
</pre>
<a name="fusion.functional.generation.functions.mk_fused_proc.see_also"></a><h6>
<a name="id1222161"></a>
<a name="id1278426"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.functions.mk_fused_proc.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_unfused_generic">
make_unfused_generic</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.description"></a><h6>
<a name="id1240866"></a>
<a name="id1279804"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.description">Description</a>
</h6>
<p>
@ -42,7 +42,7 @@
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.synopsis"></a><h6>
<a name="id1240927"></a>
<a name="id1279866"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -52,7 +52,7 @@
<span class="identifier">make_unfused_generic</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>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.parameters"></a><h6>
<a name="id1241064"></a>
<a name="id1280004"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -62,22 +62,44 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.expression_semantics"></a><h6>
<a name="id1241141"></a>
<a name="id1280109"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.expression_semantics">Expression
Semantics</a>
</h6>
@ -92,24 +114,20 @@
<code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.header"></a><h6>
<a name="id1241244"></a>
<a name="id1280217"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.example"></a><h6>
<a name="id1241337"></a>
<a name="id1280312"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">bottles_song</span>
<span class="special">{</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">:</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_</span><span class="special">&lt;</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">less</span><span class="special">&lt;</span> <a href="../../../sequences/intrinsics/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">Seq</span><span class="special">&gt;,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">int_</span><span class="special">&lt;</span><span class="number">2</span><span class="special">&gt;</span> <span class="special">&gt;,</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">blank</span><span class="special">,</span> <span class="identifier">mpl</span><span class="special">::</span><span class="identifier">identity</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">&gt;</span> <span class="special">&gt;::</span><span class="identifier">type</span>
<span class="special">{</span> <span class="special">};</span>
<span class="keyword">typedef</span> <span class="keyword">void</span> <span class="identifier">result_type</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Seq</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">Seq</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">)</span> <span class="keyword">const</span>
@ -139,7 +157,7 @@
</span><span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_genrc.see_also"></a><h6>
<a name="id1242241"></a>
<a name="id1281023"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.functions.mk_unfused_genrc.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_unfused_lvalue_args">
make_unfused_lvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.description"></a><h6>
<a name="id1242344"></a>
<a name="id1281130"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.description">Description</a>
</h6>
<p>
@ -42,7 +42,7 @@
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.synopsis"></a><h6>
<a name="id1242406"></a>
<a name="id1281193"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -52,7 +52,7 @@
<span class="identifier">make_unfused_lvalue_args</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>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.parameters"></a><h6>
<a name="id1242543"></a>
<a name="id1281332"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -62,22 +62,44 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.expression_semantics"></a><h6>
<a name="id1242621"></a>
<a name="id1281437"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.expression_semantics">Expression
Semantics</a>
</h6>
@ -92,14 +114,14 @@
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.header"></a><h6>
<a name="id1242725"></a>
<a name="id1281546"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.example"></a><h6>
<a name="id1242819"></a>
<a name="id1281642"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.example">Example</a>
</h6>
<pre class="programlisting">
@ -126,7 +148,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_lvargs.see_also"></a><h6>
<a name="id1243240"></a>
<a name="id1282064"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.functions.mk_unfused_lvargs.see_also">See
also</a>
</h6>

View File

@ -30,7 +30,7 @@
make_unfused_rvalue_args">
make_unfused_rvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.description"></a><h6>
<a name="id1243342"></a>
<a name="id1282170"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.description">Description</a>
</h6>
<p>
@ -41,7 +41,7 @@
conversion</em></span></a> is applied to the target function.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.synopsis"></a><h6>
<a name="id1243403"></a>
<a name="id1282232"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -51,7 +51,7 @@
<span class="identifier">make_unfused_rvalue_args</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>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.parameters"></a><h6>
<a name="id1243540"></a>
<a name="id1282370"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -61,22 +61,44 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function to transform.</td>
</p>
</td>
<td>
<p>
The function to transform.
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.expression_semantics"></a><h6>
<a name="id1243618"></a>
<a name="id1282475"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.expression_semantics">Expression
Semantics</a>
</h6>
@ -91,14 +113,14 @@
for <code class="computeroutput"><span class="identifier">f</span></code>.
</p>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.header"></a><h6>
<a name="id1243722"></a>
<a name="id1282584"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.example"></a><h6>
<a name="id1243817"></a>
<a name="id1282681"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.example">Example</a>
</h6>
<pre class="programlisting">
@ -124,7 +146,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.functions.mk_unfused_rvargs.see_also"></a><h6>
<a name="id1244155"></a>
<a name="id1283020"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.functions.mk_unfused_rvargs.see_also">See
also</a>
</h6>

View File

@ -30,7 +30,7 @@
make_fused">
make_fused</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_fused.description"></a><h6>
<a name="id1244272"></a>
<a name="id1283141"></a>
<a href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.description">Description</a>
</h6>
<p>
@ -38,14 +38,14 @@
make_fused"><code class="computeroutput"><span class="identifier">make_fused</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_fused.header"></a><h6>
<a name="id1244313"></a>
<a name="id1283184"></a>
<a href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused.synopsis"></a><h6>
<a name="id1244406"></a>
<a name="id1283278"></a>
<a href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -59,7 +59,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused.see_also"></a><h6>
<a name="id1244523"></a>
<a name="id1283396"></a>
<a href="mk_fused.html#fusion.functional.generation.metafunctions.mk_fused.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_fused_function_object">
make_fused_function_object</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.description"></a><h6>
<a name="id1244910"></a>
<a name="id1283790"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.description">Description</a>
</h6>
<p>
@ -39,14 +39,14 @@
make_fused_function_object"><code class="computeroutput"><span class="identifier">make_fused_function_object</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.header"></a><h6>
<a name="id1244952"></a>
<a name="id1283833"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.synopsis"></a><h6>
<a name="id1245047"></a>
<a name="id1283930"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -60,7 +60,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused_fobj.see_also"></a><h6>
<a name="id1245165"></a>
<a name="id1284049"></a>
<a href="mk_fused_fobj.html#fusion.functional.generation.metafunctions.mk_fused_fobj.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_fused_procedure">
make_fused_procedure</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_fused_proc.description"></a><h6>
<a name="id1244588"></a>
<a name="id1283463"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.description">Description</a>
</h6>
<p>
@ -39,14 +39,14 @@
make_fused_procedure"><code class="computeroutput"><span class="identifier">make_fused_procedure</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_fused_proc.header"></a><h6>
<a name="id1244631"></a>
<a name="id1283507"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_fused_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused_proc.synopsis"></a><h6>
<a name="id1244726"></a>
<a name="id1283604"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -60,7 +60,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_fused_proc.see_also"></a><h6>
<a name="id1244844"></a>
<a name="id1283723"></a>
<a href="mk_fused_proc.html#fusion.functional.generation.metafunctions.mk_fused_proc.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_unfused_generic">
make_unfused_generic</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_unfused_genrc.description"></a><h6>
<a name="id1245230"></a>
<a name="id1284116"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.metafunctions.mk_unfused_genrc.description">Description</a>
</h6>
<p>
@ -39,14 +39,14 @@
make_unfused_generic"><code class="computeroutput"><span class="identifier">make_unfused_generic</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_unfused_genrc.header"></a><h6>
<a name="id1245274"></a>
<a name="id1284161"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.metafunctions.mk_unfused_genrc.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_generic</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_genrc.synopsis"></a><h6>
<a name="id1245369"></a>
<a name="id1284257"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.metafunctions.mk_unfused_genrc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -60,7 +60,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_genrc.see_also"></a><h6>
<a name="id1245488"></a>
<a name="id1284377"></a>
<a href="mk_unfused_genrc.html#fusion.functional.generation.metafunctions.mk_unfused_genrc.see_also">See
also</a>
</h6>

View File

@ -31,7 +31,7 @@
make_unfused_lvalue_args">
make_unfused_lvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_unfused_lvargs.description"></a><h6>
<a name="id1245554"></a>
<a name="id1284444"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.metafunctions.mk_unfused_lvargs.description">Description</a>
</h6>
<p>
@ -39,14 +39,14 @@
make_unfused_lvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_lvalue_args</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_unfused_lvargs.header"></a><h6>
<a name="id1245598"></a>
<a name="id1284490"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.metafunctions.mk_unfused_lvargs.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_lvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_lvargs.synopsis"></a><h6>
<a name="id1245693"></a>
<a name="id1284586"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.metafunctions.mk_unfused_lvargs.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -60,7 +60,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_lvargs.see_also"></a><h6>
<a name="id1245811"></a>
<a name="id1284706"></a>
<a href="mk_unfused_lvargs.html#fusion.functional.generation.metafunctions.mk_unfused_lvargs.see_also">See
also</a>
</h6>

View File

@ -30,7 +30,7 @@
make_unfused_rvalue_args">
make_unfused_rvalue_args</a></h5></div></div></div>
<a name="fusion.functional.generation.metafunctions.mk_unfused_rvargs.description"></a><h6>
<a name="id1245877"></a>
<a name="id1284773"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.metafunctions.mk_unfused_rvargs.description">Description</a>
</h6>
<p>
@ -38,14 +38,14 @@
make_unfused_rvalue_args"><code class="computeroutput"><span class="identifier">make_unfused_rvalue_args</span></code></a>.
</p>
<a name="fusion.functional.generation.metafunctions.mk_unfused_rvargs.header"></a><h6>
<a name="id1245921"></a>
<a name="id1284818"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.metafunctions.mk_unfused_rvargs.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">functional</span><span class="special">/</span><span class="identifier">generation</span><span class="special">/</span><span class="identifier">make_unfused_rvalue_args</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_rvargs.synopsis"></a><h6>
<a name="id1246015"></a>
<a name="id1284914"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.metafunctions.mk_unfused_rvargs.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -59,7 +59,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.generation.metafunctions.mk_unfused_rvargs.see_also"></a><h6>
<a name="id1246133"></a>
<a name="id1285033"></a>
<a href="mk_unfused_rvargs.html#fusion.functional.generation.metafunctions.mk_unfused_rvargs.see_also">See
also</a>
</h6>

View File

@ -6,8 +6,8 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
<link rel="start" href="../../index.html" title="Chapter<65>1.<2E>Fusion 2.0">
<link rel="up" href="../functional.html" title="Functional">
<link rel="prev" href="concepts/def_callable.html" title=" Deferred
Callable Object">
<link rel="prev" href="concepts/poly.html" title=" Polymorphic Function
Object">
<link rel="next" href="invocation/functions.html" title="Functions">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@ -21,7 +21,7 @@
</table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/def_callable.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="concepts/poly.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
@ -38,7 +38,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="concepts/def_callable.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
<a accesskey="p" href="concepts/poly.html"><img src="../../images/prev.png" alt="Prev"></a><a accesskey="u" href="../functional.html"><img src="../../images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../images/home.png" alt="Home"></a><a accesskey="n" href="invocation/functions.html"><img src="../../images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@ -27,7 +27,7 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.invocation.functions.invoke"></a><a href="invoke.html" title="invoke">invoke</a></h5></div></div></div>
<a name="fusion.functional.invocation.functions.invoke.description"></a><h6>
<a name="id1187766"></a>
<a name="id1242995"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.description">Description</a>
</h6>
<p>
@ -35,10 +35,6 @@
Callable Object">Deferred
Callable Object</a> with the arguments from a <a href="../../../sequences.html" title="Sequences">Sequence</a>.
</p>
<p>
The corresponding metafunction, <a href="../metafunctions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke</span></code></a> does not define a <code class="computeroutput"><span class="identifier">type</span></code> member for target functions of
non-class type whose arity is not satisfied by the size of the sequence.
</p>
<p>
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
@ -48,10 +44,10 @@
object can be specified as a reference, pointer, or smart pointer. In
case of the latter, a freestanding <code class="literal">get_pointer</code> function
must be defined (Boost provides this function for <code class="literal">std::auto_ptr</code>
and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<a name="fusion.functional.invocation.functions.invoke.synopsis"></a><h6>
<a name="id1187898"></a>
<a name="id1243087"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -70,7 +66,7 @@
<span class="identifier">invoke</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke.parameters"></a><h6>
<a name="id1188226"></a>
<a name="id1243419"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -80,33 +76,65 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>A
<a href="../../concepts/def_callable.html" title=" Deferred
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
A <a href="../../concepts/def_callable.html" title=" Deferred
Callable Object">Deferred
Callable Object</a>
</td>
<td>The function to call.</td>
</p>
</td>
<td>
<p>
The function to call.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">s</span></code></td>
<td>A
<a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">s</span></code>
</p>
</td>
<td>
<p>
A <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The arguments.</td>
</p>
</td>
<td>
<p>
The arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.invocation.functions.invoke.expression_semantics"></a><h6>
<a name="id1188331"></a>
<a name="id1243565"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.expression_semantics">Expression
Semantics</a>
</h6>
@ -123,14 +151,14 @@
as arguments and returns the result of the call expression.
</p>
<a name="fusion.functional.invocation.functions.invoke.header"></a><h6>
<a name="id1188338"></a>
<a name="id1243684"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.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">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke.example"></a><h6>
<a name="id1206013"></a>
<a name="id1243779"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.example">Example</a>
</h6>
<pre class="programlisting">
@ -138,7 +166,7 @@
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">invoke</span><span class="special">(</span><span class="identifier">add</span><span class="special">,</span><a href="../../../sequences/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">1</span><span class="special">))</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke.see_also"></a><h6>
<a name="id1206163"></a>
<a name="id1243931"></a>
<a href="invoke.html#fusion.functional.invocation.functions.invoke.see_also">See
also</a>
</h6>

View File

@ -30,7 +30,7 @@
invoke_function_object">
invoke_function_object</a></h5></div></div></div>
<a name="fusion.functional.invocation.functions.invoke_fobj.description"></a><h6>
<a name="id1207378"></a>
<a name="id1245192"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.description">Description</a>
</h6>
<p>
@ -38,19 +38,12 @@
Object">Polymorphic Function
Object</a> with the arguments from a <a href="../../../sequences.html" title="Sequences">Sequence</a>.
</p>
<p>
The corresponding metafunction, <a href="../metafunctions/invoke_fobj.html" title="
invoke_function_object"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">invoke_function_object</span></code></a>, does
not define a <code class="computeroutput"><span class="identifier">type</span></code> member,
if the nested <code class="computeroutput"><span class="identifier">result</span></code>
class template of the target function object is empty.
</p>
<p>
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
</p>
<a name="fusion.functional.invocation.functions.invoke_fobj.synopsis"></a><h6>
<a name="id1207477"></a>
<a name="id1245241"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -71,7 +64,7 @@
<span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_fobj.parameters"></a><h6>
<a name="id1207807"></a>
<a name="id1245574"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -81,38 +74,70 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/poly.html" title=" Polymorphic Function
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/poly.html" title=" Polymorphic Function
Object">Polymorphic
Function Object</a>
</td>
<td>The function object to call.</td>
</p>
</td>
<td>
<p>
The function object to call.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">s</span></code></td>
<td>Model
of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">s</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The arguments.</td>
</p>
</td>
<td>
<p>
The arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.invocation.functions.invoke_fobj.expression_semantics"></a><h6>
<a name="id1207911"></a>
<a name="id1245720"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.expression_semantics">Expression
Semantics</a>
</h6>
<pre class="programlisting">
<span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">s</span><span class="special">);</span>
<span class="identifier">invoke_function_object</span><span class="special">(</span><span class="identifier">f</span><span class="special">,</span><span class="identifier">s</span><span class="special">);</span>
</pre>
<p>
<span class="bold"><strong>Return type</strong></span>: Return type of <code class="computeroutput"><span class="identifier">f</span></code> when invoked with the elements in
@ -124,24 +149,25 @@
as arguments and returns the result of the call expression.
</p>
<a name="fusion.functional.invocation.functions.invoke_fobj.header"></a><h6>
<a name="id1207918"></a>
<a name="id1245839"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.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">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke_function_object</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_fobj.example"></a><h6>
<a name="id1208116"></a>
<a name="id1245933"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.example">Example</a>
</h6>
<pre class="programlisting">
<span class="keyword">struct</span> <span class="identifier">sub</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">,</span> <span class="keyword">typename</span> <span class="identifier">_</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span>
<span class="special">{</span>
<span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">type</span><span class="special">;</span>
<span class="special">};</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Sig</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Self</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">result</span><span class="special">&lt;</span> <span class="identifier">Self</span><span class="special">(</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">T</span><span class="special">)</span> <span class="special">&gt;</span>
<span class="special">{</span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">remove_reference</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span> <span class="special">};</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
<span class="identifier">T</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="identifier">lhs</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">rhs</span><span class="special">)</span> <span class="keyword">const</span>
@ -157,7 +183,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_fobj.see_also"></a><h6>
<a name="id1208496"></a>
<a name="id1246417"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.functions.invoke_fobj.see_also">See
also</a>
</h6>

View File

@ -30,7 +30,7 @@
invoke_procedure">
invoke_procedure</a></h5></div></div></div>
<a name="fusion.functional.invocation.functions.invoke_proc.description"></a><h6>
<a name="id1206296"></a>
<a name="id1244068"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.description">Description</a>
</h6>
<p>
@ -38,12 +38,6 @@
Object</a> with the arguments from a <a href="../../../sequences.html" title="Sequences">Sequence</a>.
The result of the call is ignored.
</p>
<p>
The corresponding metafunction, __result_of_invoke_procedure, does not
define a <code class="computeroutput"><span class="identifier">type</span></code> member
for target functions of non-class type whose arity is not satisfied by
the size of the sequence.
</p>
<p>
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
@ -52,7 +46,7 @@
For pointers to class members corresponding object can be specified as
a reference, pointer, or smart pointer. In case of the latter, a freestanding
<code class="literal">get_pointer</code> function must be defined (Boost provides
this function for <code class="literal">std::auto_ptr</code> and <a href="http://www.boost.org/libs/smart_ptr/smart_ptr.hpp" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
this function for <code class="literal">std::auto_ptr</code> and <a href="http://www.boost.org/libs/smart_ptr/shared_ptr.htm" target="_top"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code></a>).
</p>
<p>
The target function must not be a pointer to a member object (dereferencing
@ -60,7 +54,7 @@
isn't implemented).
</p>
<a name="fusion.functional.invocation.functions.invoke_proc.synopsis"></a><h6>
<a name="id1206410"></a>
<a name="id1244168"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -81,7 +75,7 @@
<span class="identifier">invoke_procedure</span><span class="special">(</span><span class="identifier">Function</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">Sequence</span> <span class="keyword">const</span> <span class="special">&amp;</span> <span class="identifier">s</span><span class="special">);</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_proc.parameters"></a><h6>
<a name="id1206741"></a>
<a name="id1244500"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.parameters">Parameters</a>
</h6>
<div class="informaltable"><table class="table">
@ -91,32 +85,64 @@
<col>
</colgroup>
<thead><tr>
<th>Parameter</th>
<th>Requirement</th>
<th>Description</th>
<th>
<p>
Parameter
</p>
</th>
<th>
<p>
Requirement
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><span class="identifier">f</span></code></td>
<td>Model
of <a href="../../concepts/callable.html" title=" Callable Object">Callable
<td>
<p>
<code class="computeroutput"><span class="identifier">f</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../concepts/callable.html" title=" Callable Object">Callable
Object</a>
</td>
<td>The function to call.</td>
</p>
</td>
<td>
<p>
The function to call.
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><span class="identifier">s</span></code></td>
<td>Model
of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
<td>
<p>
<code class="computeroutput"><span class="identifier">s</span></code>
</p>
</td>
<td>
<p>
Model of <a href="../../../sequences/concepts/forward_sequence.html" title="Forward
Sequence">Forward
Sequence</a>
</td>
<td>The arguments.</td>
</p>
</td>
<td>
<p>
The arguments.
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.functional.invocation.functions.invoke_proc.expression_semantics"></a><h6>
<a name="id1206845"></a>
<a name="id1244645"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.expression_semantics">Expression
Semantics</a>
</h6>
@ -132,14 +158,14 @@
as arguments.
</p>
<a name="fusion.functional.invocation.functions.invoke_proc.header"></a><h6>
<a name="id1206852"></a>
<a name="id1244753"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.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">functional</span><span class="special">/</span><span class="identifier">invocation</span><span class="special">/</span><span class="identifier">invoke_procedure</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_proc.example"></a><h6>
<a name="id1207040"></a>
<a name="id1244847"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.example">Example</a>
</h6>
<pre class="programlisting">
@ -149,7 +175,7 @@
<span class="identifier">assert</span><span class="special">(</span><a href="../../../sequences/intrinsics/functions/front.html" title="front"><code class="computeroutput"><span class="identifier">front</span></code></a><span class="special">(</span><span class="identifier">v</span><span class="special">)</span> <span class="special">==</span> <span class="number">3</span><span class="special">);</span>
</pre>
<a name="fusion.functional.invocation.functions.invoke_proc.see_also"></a><h6>
<a name="id1207250"></a>
<a name="id1245059"></a>
<a href="invoke_proc.html#fusion.functional.invocation.functions.invoke_proc.see_also">See
also</a>
</h6>

View File

@ -27,18 +27,14 @@
<div class="titlepage"><div><div><h5 class="title">
<a name="fusion.functional.invocation.metafunctions.invoke"></a><a href="invoke.html" title="invoke">invoke</a></h5></div></div></div>
<a name="fusion.functional.invocation.metafunctions.invoke.description"></a><h6>
<a name="id1208642"></a>
<a name="id1246570"></a>
<a href="invoke.html#fusion.functional.invocation.metafunctions.invoke.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/invoke.html" title="invoke"><code class="computeroutput"><span class="identifier">invoke</span></code></a>.
</p>
<p>
Empty for non-class target function types whose arity is not satisfied
by the size of the sequence.
</p>
<a name="fusion.functional.invocation.metafunctions.invoke.synopsis"></a><h6>
<a name="id1208689"></a>
<a name="id1246612"></a>
<a href="invoke.html#fusion.functional.invocation.metafunctions.invoke.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -55,7 +51,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.invocation.metafunctions.invoke.see_also"></a><h6>
<a name="id1208823"></a>
<a name="id1246748"></a>
<a href="invoke.html#fusion.functional.invocation.metafunctions.invoke.see_also">See
also</a>
</h6>

View File

@ -30,19 +30,15 @@
invoke_function_object">
invoke_function_object</a></h5></div></div></div>
<a name="fusion.functional.invocation.metafunctions.invoke_fobj.description"></a><h6>
<a name="id1209172"></a>
<a name="id1247099"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/invoke_fobj.html" title="
invoke_function_object"><code class="computeroutput"><span class="identifier">invoke_function_object</span></code></a>.
</p>
<p>
Empty if the target function's nested <code class="computeroutput"><span class="identifier">result</span></code>
class template is empty.
</p>
<a name="fusion.functional.invocation.metafunctions.invoke_fobj.synopsis"></a><h6>
<a name="id1209229"></a>
<a name="id1247143"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -59,7 +55,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.invocation.metafunctions.invoke_fobj.see_also"></a><h6>
<a name="id1209363"></a>
<a name="id1247278"></a>
<a href="invoke_fobj.html#fusion.functional.invocation.metafunctions.invoke_fobj.see_also">See
also</a>
</h6>

View File

@ -30,19 +30,15 @@
invoke_procedure">
invoke_procedure</a></h5></div></div></div>
<a name="fusion.functional.invocation.metafunctions.invoke_proc.description"></a><h6>
<a name="id1208906"></a>
<a name="id1246833"></a>
<a href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.description">Description</a>
</h6>
<p>
Returns the result type of <a href="../functions/invoke_proc.html" title="
invoke_procedure"><code class="computeroutput"><span class="identifier">invoke_procedure</span></code></a>.
</p>
<p>
Empty for non-class target function types whose arity is not satisfied
by the size of the sequence.
</p>
<a name="fusion.functional.invocation.metafunctions.invoke_proc.synopsis"></a><h6>
<a name="id1208954"></a>
<a name="id1246876"></a>
<a href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.synopsis">Synopsis</a>
</h6>
<pre class="programlisting">
@ -59,7 +55,7 @@
<span class="special">}</span>
</pre>
<a name="fusion.functional.invocation.metafunctions.invoke_proc.see_also"></a><h6>
<a name="id1209088"></a>
<a name="id1247012"></a>
<a href="invoke_proc.html#fusion.functional.invocation.metafunctions.invoke_proc.see_also">See
also</a>
</h6>

View File

@ -74,7 +74,7 @@
<a href="sequences.html" title="Sequences">Sequence</a>.
</p>
<a name="fusion.iterators.header"></a><h3>
<a name="id927313"></a>
<a name="id933685"></a>
<a href="iterators.html#fusion.iterators.header">Header</a>
</h3>
<pre class="programlisting">

View File

@ -31,7 +31,7 @@
Iterator">Bidirectional
Iterator</a></h4></div></div></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.description"></a><h5>
<a name="id929681"></a>
<a name="id936410"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.description">Description</a>
</h5>
<p>
@ -61,7 +61,7 @@
</dl>
</div>
<a name="fusion.iterators.concepts.bidirectional_iterator.refinement_of"></a><h5>
<a name="id929793"></a>
<a name="id936528"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.refinement_of">Refinement
of</a>
</h5>
@ -70,7 +70,7 @@
Iterator">Forward Iterator</a>
</p>
<a name="fusion.iterators.concepts.bidirectional_iterator.expression_requirements"></a><h5>
<a name="id929830"></a>
<a name="id936565"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.expression_requirements">Expression
requirements</a>
</h5>
@ -86,44 +86,103 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Return type</th>
<th>Runtime
Complexity</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Return type
</p>
</th>
<th>
<p>
Runtime Complexity
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td><code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><a href="../functions/next.html" title="next"><code class="computeroutput"><span class="identifier">next</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
Iterator</a>
</p>
</td>
<td>
<p>
Constant
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
Iterator</a>
</p>
</td>
<td>
<p>
Constant
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><a href="../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="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><a href="../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="identifier">N</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
Iterator</a>
</p>
</td>
<td>
<p>
Constant
</p>
</td>
</tr>
<tr>
<td><code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td><a href="bidirectional_iterator.html" title="Bidirectional
<td>
<p>
<code class="computeroutput"><a href="../functions/advance.html" title="advance"><code class="computeroutput"><span class="identifier">advance</span></code></a><span class="special">&lt;</span><span class="identifier">M</span><span class="special">&gt;(</span><span class="identifier">i</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<a href="bidirectional_iterator.html" title="Bidirectional
Iterator">Bidirectional
Iterator</a></td>
<td>Constant</td>
Iterator</a>
</p>
</td>
<td>
<p>
Constant
</p>
</td>
</tr>
</tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.meta_expressions"></a><h5>
<a name="id930098"></a>
<a name="id936907"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.meta_expressions">Meta
Expressions</a>
</h5>
@ -133,17 +192,32 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Compile Time Complexity</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Compile Time Complexity
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><a href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code></td>
<td>Amortized constant
time</td>
<td>
<p>
<code class="computeroutput"><a href="../metafunctions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">prior</span></code></a><span class="special">&lt;</span><span class="identifier">I</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
</p>
</td>
<td>
<p>
Amortized constant time
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.expression_semantics"></a><h5>
<a name="id930203"></a>
<a name="id937029"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.expression_semantics">Expression
Semantics</a>
</h5>
@ -159,18 +233,32 @@
<col>
</colgroup>
<thead><tr>
<th>Expression</th>
<th>Semantics</th>
<th>
<p>
Expression
</p>
</th>
<th>
<p>
Semantics
</p>
</th>
</tr></thead>
<tbody><tr>
<td><code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code></td>
<td>An
iterator to the element preceding <code class="computeroutput"><span class="identifier">i</span></code>
</td>
<td>
<p>
<code class="computeroutput"><a href="../functions/prior.html" title="prior"><code class="computeroutput"><span class="identifier">prior</span></code></a><span class="special">(</span><span class="identifier">i</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
An iterator to the element preceding <code class="computeroutput"><span class="identifier">i</span></code>
</p>
</td>
</tr></tbody>
</table></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.invariants"></a><h5>
<a name="id930310"></a>
<a name="id937156"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.invariants">Invariants</a>
</h5>
<p>
@ -188,7 +276,7 @@
</li>
</ul></div>
<a name="fusion.iterators.concepts.bidirectional_iterator.models"></a><h5>
<a name="id930606"></a>
<a name="id937456"></a>
<a href="bidirectional_iterator.html#fusion.iterators.concepts.bidirectional_iterator.models">Models</a>
</h5>
<div class="itemizedlist"><ul type="disc">

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