Я конвертирую свою реализацию функтора в std::tr1::function
(причина в том, что в моей реализации нам нужно предварительно определить тип и класс функтора для каждого типа функции, я хочу расширить это для работы с любой функцией).
У меня есть
int param = 1;
std::tr1::bind (&MyClass::func, param);
и я хочу добавить это к некоторому общему контейнеру
someContainer.insert (std::tr1::bind (&MyClass::func, param));
Итак, как объявить контейнер, какого типа он должен принимать функцию любого типа? Возможно ли это вообще?
Второй вопрос - как вызывать функции в контейнере, например:
someContainer.begin().invoke();
P.S. Может быть, есть другое решение, я не достаточно осведомлен в этой теме. Был бы благодарен за ответы.
Я имею дело с GNU C ++ 98.