
1) What is the required interface for user-defined callbacks?
Hehe it is: http://www.boost.org/doc/libs/1_47_0/doc/html/boost/signals/trackable.html
Ah, so I should provide appropriate visit_each() overload for my callback type? Can't say I understand what it is suppose to do tho. Example for Boost.Function would be great ;)
2) Is it still true that it will be addressed in future versions of Boost.Function?
You've got now Signals2, which allows using weak_ptr for tracking purposes.
Signals2 requires objects to be managed by shared_ptr which imho is more
intrusive (in a sense of class design enforcement) than original Signals. My
objects are kept in ptr_ and intrusive containers and it is trivial to make
them trackable but impossible to make them being managed by shared_ptr.
Additionally, within specific sub-systems signal-slot connections are
single-threaded and using:
namespace bs2 = boost::signals2;
using bs2::keywords;
bs2::signal_type