#include #include void f() { std::cout << "::f()\n" ; } class C : public SlotSig::SlotsSetBase { public: C() : SlotSig::SlotsSetBase() { std::cout << "::C instance at " << this << "\n" ; } void m() { std::cout << "::C[" << this << "]::m1()\n" ; } } ; int main (int argc, char* argv[]) { SlotSig::Sig0 sig1 ; C c ; std::cout << "Connecting to sig1...\n" ; sig1.connect(f) ; sig1.connect(f) ; sig1.connect(&c, &C::m) ; sig1.connect(&c, &C::m) ; sig1.run() ; std::cout << "Connecting to sig2...\n" ; SlotSig::Sig0 sig2(false) ; sig2.connect(f) ; sig2.connect(f) ; sig2.connect(&c, &C::m) ; sig2.connect(&c, &C::m) ; sig2.run() ; return 0 ; }