Le 20/05/15 08:35, Gavin Lambert a écrit :
On 20/05/2015 18:21, Vicente J. Botet Escriba wrote:
These links give me differences not the advantages. Could you be more precise? Could you show how things are done with each library and the associated performances? What can not be done with Boost.Signal2 that can be done with your library?
The main distinguishing feature is the non-intrusiveness, ie. the ability to emit an event that claims a raw OS/library handle as its source.
It means that at least with regard to event-handling, there is no need to wrap this handle in a representative object that includes the signal support. (ie. the way you'd do an HWND-with-events with Signals2 is by creating a "Window" class that contains an HWND and the signal instances. But then you also usually need the plumbing to look up an existing Window by HWND or create a new one -- whereas none of that is needed in Synapse.)
Oh, I think that I understand what you mean. Dissociating the signal type and the emitter gives a degree of freedom. A function having an emitter can emit several signals. Having signal instances would mean that the function would need as parameter all the signals that can be emitted. I don't like the emitter name, but I like the separation. Thanks for the explanation, Vicente