|
Boost Users : |
From: STenyaK (Bruno Gonzalez) (stenyak_at_[hidden])
Date: 2007-12-19 10:11:07
On 12/19/07, Andrew Holden <aholden_at_[hidden]> wrote:
> STenyaK (Bruno Gonzalez) [stenyak_at_[hidden]] wrote:
> typedef shared_ptr<MyClass> pMyClass;
> void* MyClass::actionThread(void *objectPointer)
> {
> MyClass * _obj = static_cast<MyClass*>(objectPointer);
> pMyClass obj = _obj->shared_from_this();
> obj->action(false);
> }
>
> void MyClass::action(bool threaded)
> {
> if (threaded)
> {
> pthread_t tid;
> pthread_create(&tid, 0, actionThread, this)
> } else {
> //TODO: actually perform the action
> }
> }
> ----------------------------
>
> This works because shared_from_this is specifically designed to allow
> member functions of a class to recover the shared pointer to the object.
Just in case... actionThread is a static method of the class, since
otherwise C++ won't allow me to get a pointer of it (and i dislike
global functions). Does this fact have any implications in the last
proposed code sample?
Thanks again to everybody.
-- Saludos, Bruno González _______________________________________________ Msn/Jabber: stenyak AT gmail.com ICQ: 153709484 http://www.stenyak.com
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