52588.fb2
signal – cобытие (детали реализации опущены)
template <class Arg> // Arg – тип аргумента функции обработчика
class signal {
public:
// Инициировать событие
void raise(
Arg arg // Арумент arg будет передан в обработчики события
);
};
slot – переходник для обработки события в классе-обработчике (детали реализации опущены)
class slot {
public:
// установить связь с событием и обработчиком
template <
class Owner, // класс-обработчик
class Arg // Тип аргумента события.
>
void init(
signal<Arg>&sig, // событие
void (Owner::*mpfn)(Arg), // функция обработчик
Owner *This // обьект обработчик
);
// установить связь с событием и обработчиком для случая signal<void>
template <
class Owner // класс-обработчик
>
void init(
signal<void>&sig, // событие
void (Owner::*mpfn)(), // функция обработчик
Owner *This // обьект обработчик
);
// разорвать связь
void clear();
};