Header-only signal library, because every programmer should have one
Declare some signals anywhere you want (class probably)
class Emitter {
public:
void doSomething();
Signal<std::string, int> signalLog;
Signal<> signalFinished;
};
Connect to them
Emitter e;
e.signalLog.connect([](std::string msg, int num){
std::cout << "Logging: " << msg << " with number " << num << std::endl;
});
e.signalFinished.connect([]{
std::cout << "Finished" << std::endl;
});
Emit some signals
void Emitter::doSomething() {
for(int i{0}; i < 10; ++i)
signalLog("Hello", i);
signalFinished();
}
Buy me a beer. Or somebody else.
- C++11
- Header-only
- Can connect, disconnect, block, ...
- Simple
- One of my first creations