
On Mon, Mar 15, 2010 at 9:59 PM, Steven Watanabe <watanabesj@gmail.com> wrote:
AMDG
John Ky wrote:
I have a class:
template<typename function_type> class function_vector { private: std::vector<boost::function<function_type> > functions; };
I want to write an operator() for this template class that takes all the arguments necessary to invoke a function of type function_type. When called, it should call each function in the functions field.
How do I do this?
I think Boost.Signals2 does something like this, but I can't work out how it is done.
Signals does it by specializing for every possible arity.
Although you (nor signals) needed to do it that way. Using Boost.Fusion you can have it be all automatic, probably even simplify it more if you need better forwarding with Boost.Functional.Forwarding.