![]() |
Home | Libraries | People | FAQ | More |
An n-ary Polymorphic Function Object adapter template for an unary Polymorphic Function Object target function. When called, its arguments are bundled to a Random Access Sequence of references that is passed to the target function object. Only LValue arguments are accepted.
The type of the target function is allowed to be const qualified or a reference.
Const qualification is preserved and propagated appropriately (in other
words, only const versions of operator() can be used
if the target function object is const - or, in case the target function
object is held by value, the adapter is const).
#include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
template <class Function> class unfused_lvalue_args;
|
Parameter |
Description |
Default |
|---|---|---|
|
|
A unary Polymorphic Function Object |
|
Notation
FfF
ULunfused_lvalue_args<F>
ulUL, initialized
with f
a0...aNul
|
Expression |
Semantics |
|---|---|
|
|
Creates a fused function as described above, initializes the target
function with |
|
|
Creates a fused function as described above, attempts to use |
|
|
Calls |
struct fused_incrementer
{
template <class Seq>
struct result
{
typedef void type;
};
template <class Seq>
void operator()(Seq const & s) const
{
for_each(s,++boost::lambda::_1);
}
};
void try_it()
{
unfused_lvalue_args<fused_incrementer> increment;
int a = 2; char b = 'X';
increment(a,b);
assert(a == 3 && b == 'Y');
}
| Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger |