Frank Mori Hess wrote:
I'd like to propose we add an add_tracked() function to the connection object. This would allow an arbitrary shared_ptr/weak_ptr to be added to the list of objects tracked for the slot. The justification is to allow for situations where an object needed by the slot is not directly owned by a shared_ptr, or doesn't directly correspond to an argument of the bound function. For example, the bound argument might be contained inside another object which is in turn managed by a shared_ptr. We could actually dump boost::track() entirely if we wanted, if we have add_tracked().
A user can already have loosely related pointers tracked by using a specialized function object and overloading visit_each. Giving too many alternative ways to achieve the same goal may confuse more than it helps. I personally find a small comprehensible interface more useful in most cases and like to find solutions based on my knowledge of the language and not the set of available library functions. Regards Timmo Stange