Boost logo

Boost Users :

From: David Abrahams (yg-boost-users_at_[hidden])
Date: 2002-09-29 18:11:45


<dick.bridges_at_[hidden]> wrote in message
news:OF699D7956.EED22A4F-ON88256C43.00722AD0_at_tais.net...
> I run into situations where it's useful for an object to have a
> 'backpointer' to the object instance that created it (example below). Is
> there a pattern/idiom for doing this using shared_ptr? Or maybe I need to
> re-think the idea of the backpointer in the first place?
>

class Bar;

class Foo
{
 public:
    Foo(shared_ptr<Bar>);

 private:
    shared_ptr<Bar> p;
};

class Bar : boost::shared_count
{
    void doit()
    {
         new Foo(boost::shared_from_this(this)); // <<< new Foo(this)
obviously won't work.
    }
};

HTH,
Dave

--
-----------------------------------------------------------
           David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.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