Signal0::handler_id_typea=e0.connectLast(makeSignalHandler(TestHandler0(),test));// signal handler from direct caller returning result
Signal0::handler_id_typeb=e0.connectFirst(makeSignalHandler(TestFunction0(),test));// signal handler from direct caller returning int
e0();
e0.disconnect(a);
e0.disconnect(b);
}
{
typedefSignal1<A1>Signal1Test;
Signal1Teste1;
Signal1Test::handler_id_typea=e1.connectLast(makeSignalHandler1(TestHandler1(),test));// signal handler from direct caller with one argument, returning result
Signal1Test::handler_id_typeb=e1.connectFirst(makeSignalHandler1(TestFunction1(test)));// signal handler from opaque caller with one argument, returning void
e1(A1());
e1.disconnect(a);
e1.disconnect(b);
}
{
typedefSignal2<A1,A2>Signal2Test;
Signal2Teste2;
Signal2Test::handler_id_typea=e2.connectLast(makeSignalHandler2(TestHandler2(),test));// signal handler from direct caller with two arguments, returning result
Signal2Test::handler_id_typeb=e2.connectLast(makeSignalHandler2(TestFunction2(),test));// signal handler from direct caller with two arguments, returning void
e2(A1(),A2());
e2.disconnect(a);
e2.disconnect(b);
}
{
typedefSignal3<A1,A2,A3>Signal3Test;
Signal3Teste3;
Signal3Test::handler_id_typea=e3.connectLast(makeSignalHandler3(TestHandler3(),test));// signal handler from direct caller with three arguments, returning result
Signal3Test::handler_id_typeb=e3.connectLast(makeSignalHandler3(TestFunction3(),test));// signal handler from direct caller with three arguments, returning void