Я написал библиотеку функторов (на основе учебника по адресу: http://www.tutok.sk/fastgl/callback.html).
В настоящее время я могу написать следующий код:
class MyClass
{
public:
void Test(int a,int b);
};
MyClass c;
Functor2<void,int,int> f=makeFunctor(c,&MyClass::Test);
...
f(1,2);
Я хотел бы добавить еще одинфункция, чтобы я мог связать параметры с фактической функцией (чтобы передать его вперед), например:
Functor0<void> f=makeFunctor(c,&MyClass::Test,3,4);
...
f(); // this will use the default parameters 3,4
Я знаю, что Boost имеет эту функцию, но я не хочу использовать это - я быЯ хотел бы написать сам.
Мой вопрос заключается в том, как определить функтор, в котором я также могу передавать аргументы по умолчанию для использования в самом вызове. Причина, по которой я не хочу использовать boost или std ++, заключается в том, чтоКод является кросс-платформенным и будет использоваться на некоторых платформах, которые не имеют повышения.