RE: [Boost-Users] Re: Use a shared_ptr as a 'backpointer'?
1) There are circumstances where the 'creator' should stick around as long
as one or more 'creations' still exist (e.g., a [network] session that's
created various asynchronous conversations).
2) I haven't had time to check, but I think this is the
as-yet-not-but-soon-to-be-released implementation of intrusive pointers.
Interesting: search google for "intrusive pointer" (quotes not required).
I got five hits - all of the URLs start with www.boost.org/.
BTW: Really slick. Trying to figure out where to keep "THE POINTER" was
driving me nuts. I'd completely forgotten about intrusive pointers.
Thanks. A *LOT*.
Mark Storer
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@boost-consulting.com * http://www.boost-consulting.com Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
participants (1)
-
dick.bridges@tais.com