<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Description
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Description
>>>>>>> .merge-right.r57125
Calls a Polymorphic Function
Object with the arguments from a Sequence.
The first template parameter can be specialized explicitly to avoid copying
and/or to control the const qualification of a function object.
Constructors can be called applying Boost.Functional/Factory.
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Synopsis
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Synopsis
>>>>>>> .merge-right.r57125
template<
typename Function,
class Sequence
>
typename result_of::invoke_function_object<Function, Sequence>::type
invoke_function_object(Function f, Sequence & s);
template<
typename Function,
class Sequence
>
typename result_of::invoke_function_object<Function, Sequence const>::type
invoke_function_object(Function f, Sequence const & s);
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Parameters
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Parameters
>>>>>>> .merge-right.r57125
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Expression
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Expression
>>>>>>> .merge-right.r57125
Semantics
invoke_function_object(f,s);
Return type: Return type of f when invoked with the elements in
s as its arguments.
Semantics: Invokes f
with the elements in s
as arguments and returns the result of the call expression.
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Header
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Header
>>>>>>> .merge-right.r57125
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
Example
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
Example
>>>>>>> .merge-right.r57125
struct sub
{
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
{
return lhs - rhs;
}
};
void try_it()
{
sub f;
assert(f(2,1) == invoke_function_object(f,make_vector(2,1)));
}
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
<<<<<<< .working
See
=======
=======
=======
=======
=======
=======
>>>>>>> .merge-right.r58559
>>>>>>> .merge-right.r58549
>>>>>>> .merge-right.r58299
>>>>>>> .merge-right.r57337
>>>>>>> .merge-right.r57242
See
>>>>>>> .merge-right.r57125
also