From a0125b29368851285e6524c03136e80d3ecce686 Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Mon, 4 Oct 2010 22:08:17 -0700 Subject: [PATCH] initial README doc --- README.markdown | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 README.markdown diff --git a/README.markdown b/README.markdown new file mode 100644 index 0000000..0cc8792 --- /dev/null +++ b/README.markdown @@ -0,0 +1,53 @@ +cpp-signal +========== + +Introduction +------------ + +This is a simple C++ callback library. It's conceptually similar to FastDelegate, +with a primary goal of having an extremely simple, clean API. Secondary goals +include low memory (low template bloat), zero external dependencies, and a high +level of portability. + +Usage +----- + +Using the library is incredibly simple. First, add the files to your project, Makefile, +IDE, etc. Then, to use the library, simply include "signal.h". + +Here's a simple example: + + #include "signal.h" + + void beep() { /* make speaker beep */ } + + void flash() { /* make screen flash */ } + + int main(int arg, char** argv) + { + // create a signal which we'll emit any time a button is pressed + signal button_pressed; + + // connect (i.e. subscribe) functions to the signal + button_pressed.connect(&beep); + button_pressed.connect(&flash); + + // main loop, check for button press, and call signal + while ( true ) + { + if ( is_button_pressed() ) + { + // call signal, which in turn calls all slot functionss (i.e. subscribers) + button_pressed(); + } + } + } + +TO DO +----- + +* better documentation +* consistent code cleanup +* generate.rb creates a single header file +* add License clause to source and LICENSE file +