1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| struct MyEventType
{
MyEventType( int delay ) : delay_(delay) {}
virtual ~MyEventType() {}
inline const int & Delay() const { return delay_; }
virtual void Execute() = 0;
private:
unsigned int delay_;
};
struct MyEventComp
{
bool operator () ( const MyEventType * left, const MyEventType * right )
{
return ( left->Delay() < right->Delay() );
}
};
//! type definition for the event queue
typedef std::multiset<MyEventType*, MyEventComp> MyEventSet;
// Argh! Ce sont des pointeurs qui sont stockés!! Les pointeurs c'est le mal toussa...
// oui mais là je n'ai pas le choix puisque ce qui sera stocké seront des objets qui héritent de MyEventType (polymorphisme toussa...)
// et non, pas de smart pointer non plus, c'est fait exprès |
Partager