📄 notificationprovider.cpp
字号:
// NotificationProvider.cpp
//
/////////////////////////////////////////////////////////////////////////////
#include <cassert>
/////////////////////////////////////////////////////////////////////////////
// initialization and cleanup
/////////////////////////////////////////////////////////////////////////////
template <typename T> NotificationProvider<T>::NotificationProvider()
{
}
template <typename T> NotificationProvider<T>::~NotificationProvider()
{
assert(_observers.size() == 0);
}
/////////////////////////////////////////////////////////////////////////////
// notification
/////////////////////////////////////////////////////////////////////////////
template <typename T> void NotificationProvider<T>::attach(INotificationSuscriber<T> *o)
{
_observers.push_back(o);
}
template <typename T> void NotificationProvider<T>::detach(INotificationSuscriber<T> *o)
{
_observers.remove(o);
}
template <typename T> void NotificationProvider<T>::notify(int data)
{
Observers::iterator i;
// notify all observers of the change
for (i = _observers.begin(); i != _observers.end(); i++){
(*i)->update((T *)(this), data);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -