29 #ifndef LUMIERA_LIFECYCLEREGISTRY_H 30 #define LUMIERA_LIFECYCLEREGISTRY_H 60 typedef void (*Hook)(void);
61 typedef std::set<Hook> Callbacks;
62 typedef Callbacks::iterator Iter;
73 void execute (
Symbol label)
75 Callbacks& cbs (table_[label]);
77 for (Iter p = cbs.begin();
89 std::map<Symbol, Callbacks> table_;
const char * ON_BASIC_INIT
automatic static init. treated specially to run as soon as possible
static LifecycleRegistry & instance()
get the (single) LifecycleRegistry instance.
Registry of callback functions accessible by a label (ID) provided at registration.
Any copy and copy construction prohibited.
Token or Atom with distinct identity.
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
bool enrol(Symbol label, Hook toCall)
Lumiera public interface.
bool contains(SEQ const &cont, typename SEQ::const_reference val)
shortcut for brute-force containment test in any sequential container