Boost logo

Boost Users :

From: Kerner, Jacques (jkerner_at_[hidden])
Date: 2005-11-23 21:20:43


Hi,

I would like to create a functor for calling functions in a chain like
this :

car.GetRigidBody().GetPosition().GetX()

What is the best way to do that using bind (and lambda ?)

The car.GetRigidBody() is easy : bind(&Car::GetRigidBody, &car) , but
then I am a bit stuck. Note that I don't want to store the result of
car.GetRigidBody(). I want the final functor to call all the functions
everytime its operator() is called. So

bind (
                &Position::GetX,
                &bind (
                                &RigidBody::GetPosition,
                                        &bind (
        
&Car::GetRigidBody,
                                                            &car
                                                        )()
                                    )()
        )

would not be acceptable...

Any help greatly appreciated

Jacques Kerner



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