{
B()
{
- sig.connect(sigc::mem_fun(this, &B::destroy));
- sig.connect(sigc::mem_fun(this, &B::boom));
+ sig.connect(sigc::mem_fun(*this, &B::destroy));
+ sig.connect(sigc::mem_fun(*this, &B::boom));
sig.connect(sigc::ptr_fun(&good_bye_world));
}
sig.emit();
}
- sigc::signal<void> sig;
+ sigc::signal<void()> sig;
};
} // end anonymous namespace
if (!util->check_command_args(argc, argv))
return util->get_result_and_delete_instance() ? EXIT_SUCCESS : EXIT_FAILURE;
- sigc::signal<int, int> sig;
- sigc::signal<int, int>::iterator confoo;
- sigc::signal<int, int>::iterator conbar;
+ sigc::signal<int(int)> sig;
+ sigc::signal<int(int)>::iterator confoo;
+ sigc::signal<int(int)>::iterator conbar;
sigc::connection cona; // connection objects are safe to use beyond the life time of a signal.
{
A a;
- sig.connect(sigc::mem_fun(&a, &A::foo));
+ sig.connect(sigc::mem_fun(a, &A::foo));
confoo = sig.connect(sigc::ptr_fun(&foo));
conbar = sig.connect(sigc::ptr_fun(&bar));
result_stream << "sig is connected to A::foo, foo, bar (size=" << sig.size() << "): ";
util->check_result(result_stream, "sig is connected to foo, bar (size=2): foo(2) bar(2) ");
A a; // iterators stay valid after further connections.
- cona = sig.slots().insert(conbar, sigc::mem_fun(&a, &A::foo));
+ cona = sig.slots().insert(conbar, sigc::mem_fun(a, &A::foo));
result_stream << "sig is connected to foo, A::foo, bar (size=" << sig.size() << "): ";
sig(3);
util->check_result(result_stream,
{
A a2;
- sig.connect(sigc::compose(sigc::mem_fun(&a2, &A::foo), &foo));
+ sig.connect(sigc::compose(sigc::mem_fun(a2, &A::foo), &foo));
result_stream << "sig is connected to compose(A::foo, foo) (size=" << sig.size() << "): ";
sig(7);
util->check_result(result_stream, "sig is connected to compose(A::foo, foo) (size=1): foo(7) A::foo(1) ");
{ // A slot# within a slot
A a2;
- sigc::slot<int, int> setter = sigc::mem_fun(&a2, &A::foo);
+ sigc::slot<int(int)> setter = sigc::mem_fun(a2, &A::foo);
sig.connect(sigc::compose(setter, &foo));
result_stream << "sig is connected to compose(slot1(A::foo), foo) (size=" << sig.size() << "): ";
sig(9);
{ // A slot within a slot
A a2;
- sigc::slot<int, int> setter = sigc::mem_fun(&a2, &A::foo);
+ sigc::slot<int(int)> setter = sigc::mem_fun(a2, &A::foo);
sig.connect(sigc::compose(setter, &foo));
result_stream << "sig is connected to compose(slot(A::foo), foo) (size=" << sig.size() << "): ";
sig(11);