
On Saturday 24 February 2007 10:10 am, Timmo Stange wrote:
We should also keep in mind what the tracking will be used for mostly. I think this is in order of importance: 1. tracking of objects for member function slots 2. tracking of parameters directly 3. tracking of signals as slots 4. tracking of indirectly related objects
If that is close to reality, shifting to explicit tracking is a major change. Cases 1 and 2 are handled quite well with the implicit tracking. Case 3 involves some acrobatics in the implementation
I wasn't planning on dropping support for automatic tracking of signals, I don't see that dropping it would make things any less confusing for the user.
and case 4 leads to an obscure syntax. On the other hand, all cases will result in two or more statements with explicit tracking. I find it difficult to favor one or the other here.
signal.connect(signal_type::slot_type( f, p.get() ).track( p )); is only 1 statement. True, it's a more complicated expression than signal.connect(f, boost::signals::track(p))); -- Frank