
On Sun, Aug 30, 2009 at 2:56 AM, Emil Dotchevski<emildotchevski@gmail.com> wrote:
Steven, thanks for your reply.
It is too late for me right now to understand your solution, but at first look it seems like it's very close to what I need but not quite. :)
The interface I need is something like:
CALL_PROD3(boost::bind(func(),_1,_2,_3,42),TYPE_LIST)
I do want to use bind (so I can pass any number of additional arguments to the function), and I don't want the function name or the type list macro name to be hard-coded. I just don't like the *nested* use of bind in the solution I posted, and the fact that the type list macro name is hard-coded in the helper functions fwd1 and fwd2.
It looks like for what you are doing then Boost.Phoenix and/or Boost.Fusion would do what you want without the prepocessor or tons of overloads.