
On Friday 23 February 2007 06:26 pm, Timmo Stange wrote:
Hm, I think that still bears a higher level of dependency between connection site and observer - this time the observer needs to know the signal's signature. While you can use bind(...) on an ordinary function class, it would be difficult to forward the tracking to the true slot (I'd call the independently created one a slot model) after binding.
Couldn't tracked objects could be copied from one slot to another by overloading slot::track to accept a slot as an argument? Then binding a slot to another slot with a different signature would might look like signal.connect(signal_type::slot_type(slot, _2, _1).track(slot)); It's a bit murky whether track(slot) would only cause the tracked objects of slot to get tracked, or also track the slot itself (or its pimpl). I suppose it would depend on whether copies of slots are deep or share the same SlotFunction. -- Frank