Public Member Functions | |
| Event () | |
| void | clear () |
| void | all () |
| Event & | operator+= (const Event &event) |
| Event & | operator-= (const Event &event) |
| bool | test (const Event &event) const |
| bool | any () const |
| template<class OS > | |
| void | print (OS &os) const |
Static Public Member Functions | |
| static Event | assign (const char *name) |
| template<class OS > | |
| static void | print_assigned (OS &os) |
Private Attributes | |
| bool | all_true |
| std::vector< bool > | flags |
Static Private Attributes | |
| static std::vector< std::string > | names |
Related Functions | |
| (Note that these are not member functions.) | |
| template<class OS > | |
| OS & | operator<< (OS &o, const Event &e) |
Objects of this kind are used to notify interior applications of changes provoked by an outer loop. They are handed to the application through Operator::notify() and it is up to the actual application how to handle them.
Event is organized as an extensible binary enumerator. Every class can add its own events using assign(). A typical code example is
class A { static Event event; }; Event A::event = Event::assign("Event for A");
| Algorithms::Event::Event | ( | ) |
If you forgot to store the result of assign, here is how to retrieve it knowing the name. Constructor, generating a clear Event.
| static Event Algorithms::Event::assign | ( | const char * | name | ) | [static] |
This function registers a new event type and assigns a unique identifier to it. The result of this function should be stored for later use.
| void Algorithms::Event::clear | ( | ) |
Clear all flags
| void Algorithms::Event::all | ( | ) |
Set all flags
| bool Algorithms::Event::test | ( | const Event & | event | ) | const [inline] |
| bool Algorithms::Event::any | ( | ) | const [inline] |
Return true if any event is set.
Definition at line 174 of file event.h.
References all_true, and flags.
Referenced by operator-=().
| void Algorithms::Event::print | ( | OS & | os | ) | const [inline] |
| void Algorithms::Event::print_assigned | ( | OS & | os | ) | [inline, static] |
| OS & operator<< | ( | OS & | o, |
| const Event & | e | ||
| ) | [related] |
Output shift operator for events. Calls Event::print().
Definition at line 298 of file event.h.
References print().
bool Algorithms::Event::all_true [private] |
Sometimes, actions have to be taken by all means. Therefore, if this value is true, test() always returns true.
Definition at line 124 of file event.h.
Referenced by any(), operator+=(), operator-=(), print(), and test().
std::vector<bool> Algorithms::Event::flags [private] |
The actual list of events
Definition at line 129 of file event.h.
Referenced by any(), operator+=(), operator-=(), print(), and test().
std::vector<std::string> Algorithms::Event::names [static, private] |
The names of registered events
Definition at line 134 of file event.h.
Referenced by print(), and print_assigned().
documentation generated on Thu May 17 2012 20:05:32 by
doxygen
1.7.3