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