![]() |
![]() ![]() ![]() ![]() |
![]() |
invoke_function_objectBoost , Chapter 1. Fusion 2.2 , Functions
|
|||||||||||||||
|
Параметр |
Требование |
Описание |
|---|---|---|
< |
Функция объект вызова. |
|
< |
Аргументы. |
invoke_function_object(f,s);
Тип возврата: Возвращение<f>, когда в качестве аргументов используются элементы<s>.
Семантика: Призывает<f>с элементами в<s>в качестве аргументов и возвращает результат выражения вызова.
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
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)));
}
Статья invoke_function_object раздела Chapter 1. Fusion 2.2 Functions может быть полезна для разработчиков на c++ и boost.
реклама |