template<class Caller, typename InputType = int>
class uniset::TriggerAND< Caller, InputType >
Триггер "И", со множеством входов. Логика включения следующая: только "1" на ВСЕХ входах даёт на выходе "1", иначе "0".
В конструкторе указывается функция, которая будет вызываться при ИЗМЕНЕНИИ состояния выхода.
- Предупреждения
- Нет блокирования совместного доступа(не рассчитан на работу в многопоточной среде).
- Пример использования
#include "TriggerAND.h"
class MyClass
{
public:
MyClass(){};
~MyClass(){};
void out( bool newstate){ cout << "OR out state="<< newstate <<endl;}
...
};
...
MyClass rec;
TriggerAND<MyClass, int> tr(&rec, &MyClass::out);
tr.add(1,false);
tr.add(2,true);
tr.add(3,true);
tr.add(4,true);
...
tr.commit(1,true);