So, we are implementing boost::signals/slots, and in several cases, we have a connect() function to allow us to hook up an arbitrary slot to the signal, without exposing the details of the signal for cleanliness issues.

We would like to implement the signals::trackable interface, and have the objects which are passing in the bound slot manage their connections in this manner. However, we are passing them as boost::function objects, which (as documented) does not work properly with boost::function objects, only boost::bind objects.

In all of the documentation that I've found, about assigning the results of a boost::bind call were to function objects. Is there an alternative available to not destroy the trackable functionality that we're trying to use?

Thanks
--dw