Skip to content

Header-only signal library, because every programmer should have one

License

Notifications You must be signed in to change notification settings

Zeeno-atl/Signal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal

Header-only signal library, because every programmer should have one

Usage

Step 1

Declare some signals anywhere you want (class probably)

class Emitter {
	public:
		void doSomething();
		
		Signal<std::string, int> signalLog;
		Signal<>                 signalFinished;
};

Step 2

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;
});

Step 3

Emit some signals

void Emitter::doSomething() {
	for(int i{0}; i < 10; ++i)
		signalLog("Hello", i);
	
	signalFinished();
}

Step 4

Buy me a beer. Or somebody else.

Keywords

  • C++11
  • Header-only
  • Can connect, disconnect, block, ...
  • Simple
  • One of my first creations

About

Header-only signal library, because every programmer should have one

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published