Boost logo

Boost Users :

From: Bertolt Mildner (Bertolt.Mildner_at_[hidden])
Date: 2005-06-22 01:20:12


Lets say i need a functor of type

typedef boost::function1<Ret, Arg1> Functor;

and i have a function

Ret Foo(Arg1 a, Arg2 b);

Creating a Functor object is easy if i have a Arg2 object

Arg2 arg2;

Functor f(boost::bind<Ret>(&Foo, _1, arg2);

But what if i want to create the Arg2 object in the functor when it is
used?

Like i have a function

Arg2 CreateArg2();

and i don't want

Functor f(boost::bind<Ret>(&Foo, _1, CreateArg2());

but something like

Functor f(boost::bind<Ret>(&Foo, _1, &CreateArg2);

so that f(arg1) = Foo(arg1, CreateArg2());

I have a vague feeling that lambda might have a solution to this, but i
don't know how!

Bertolt


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