-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevent.cpp
More file actions
47 lines (42 loc) · 760 Bytes
/
event.cpp
File metadata and controls
47 lines (42 loc) · 760 Bytes
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "event.hpp"
template <class T>
Event<T>::Event()
{
}
template <class T>
Event<T>::Event(T* ownr)
{
owner = ownr;
}
template <class T>
Event<T>::Event(T* ownr,bool (T::* chck) (),std::vector<Event<T>*> chldrn)
{
owner = ownr;
check = chck;
children = chldrn;
}
// template <class T>
// Event<T>::Event(T* ownr,bool (T::* chck) (),std::vector<Event<T>*, std::allocator<Event<T>>> chldrn)
// {
// owner = ownr;
// check = chck;
// children = chldrn;
// }
template <class T>
Event<T>::Event(T* ownr,bool (T::* chck) ())
{
owner = ownr;
check = chck;
children = std::vector<Event<T>*>();
}
template <class T>
bool
Event<T>::execute()
{
happens = (owner->*check)();
for (auto &&child : children)
{
child->execute();
}
return happens;
}