| e8555c89 Andy McCall |
1 |
#ifndef OBSERVER_HH |
| 2 |
#define OBSERVER_HH |
| 3 |
|
| 4 |
namespace openmsx { |
| 5 |
|
| 6 |
|
| 7 |
|
| 8 |
|
| 9 |
template<typename T> class Observer |
| 10 |
{ |
| 11 |
public: |
| 12 |
Observer(const Observer&) = delete; |
| 13 |
Observer(Observer&&) = delete; |
| 14 |
Observer& operator=(const Observer&) = delete; |
| 15 |
Observer& operator=(Observer&&) = delete; |
| 16 |
|
| 17 |
virtual void update(const T& subject) noexcept = 0; |
| 18 |
virtual void subjectDeleted(const T& ) { } |
| 19 |
|
| 20 |
protected: |
| 21 |
Observer() = default; |
| 22 |
~Observer() = default; |
| 23 |
}; |
| 24 |
|
| 25 |
} |
| 26 |
|
| 27 |
#endif |