Boost logo

Boost Users :

From: Aleksey Gurtovoy (alexy_at_[hidden])
Date: 2003-07-29 04:00:55


"vivek_arora" wrote:
> I am looking for pointers on how to use boost to implement a set of
> template classes/helper functions which can be used for deferred
> function/method call forwarding.
>
> Here's an example of illustrating what I wish to accomplish.
> I can live with restictions on the function argument types.
>
> //Define a template type which can capture arguments of any (or
> most) functions. I believe boost tuple could suit my requirements.
> //Define a template helper function save_args which constructs a
> arguments tuple based on the signature of the function passed
> as the first argument.
>
> e.g .
> R f(T1, T2, T3);
> boost:tuple<R, T1, T2, T3> args = save_args(f, t1, t2, t3);
> //Don't want to explicitly specify types like save_args<R,T1,T2,T3>
> (t1,t2,t3)
>
> //Define another template helper function call_with_args which given
> another function "g" with a signature conforming with "f" and the
> argument tuple invokes "g"
>
> e.g.
> R g(T1, T2, T3)
> //This should call g(args.get<0>, args.get<1>, args.get<2>)
> call_with_args(g, args);
>
>
> Could someone provide ideas, pointers/sample code for implementing
> save_args, call_with_args helper template functions.

For the latter, see http://lists.boost.org/MailArchives/boost/msg43867.php

HTH,
Aleksey


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net