Frank Mori Hess wrote:
Another question: what would be the most simple way to do asynchronous signaling? at the stage of connecting to a signal I'd like to supply an asynchronous queue along with slot handler, and at the stage of signaling the signal - instead of direct execution of a functor - must just post it to the associated queue (slots' return values are not of interest to me).
I don't think such things are within the scope of a signals library. You can however implement your slot to queue whatever you like wherever you like.
It's fairly straightforward, actually, though my experience is admittedly with the older boost::signals library running in a single thread. We took the opposite approach of explicitly queuing event objects. When we "pump" the queue, it sends each of those pending events through the signal to all connected slots.