
Frank Mori Hess wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Monday 03 November 2008 13:54 pm, Johan Råde wrote:
What is the rationale for ditching boost::trackable?
It's not thread-safe. I'm not opposed to including an implementation of it for backwards compatibility though. It does seem like a less painful porting path for single-threaded code should be provided.
I think it should be available, to ease porting from the old signals library. It should probably not be available by default, but only when the user defines some macro.
one idea (I haven't decided if it's a good one or not yet) would be to add a signals2::trackable which is based on enable_shared_from_this. It could use visit_each like Boost.Signals does, and then use enable_shared_from_this on any signals2::trackable objects it finds to get a shared_ptr for tracking. Or it could throw an exception if it finds a signals2::trackable object not owned by a shared_ptr.
I like this idea. --Johan Råde