notifier.h

来自「java实现的简单的分形树。简单易学!是学习分形知识的很好的例子。其java语法」· C头文件 代码 · 共 37 行

H
37
字号
// --------------------------------------------------------------------------
// Dingus project - a collection of subsystems for game/graphics applications
// --------------------------------------------------------------------------

#ifndef __NOTIFIER_H
#define __NOTIFIER_H

namespace dingus {

/**
 *  Notifier class. Provides listener registry, listener notification
 *  is left to subclasses.
 *
 *  Note that it doesn't have virtual functionality at all
 *  (eg. no virtual destructor).
 */
template<typename T>
class CNotifier {
public:
	typedef fastvector<T*>	TListenerVector;
public:
	void addListener( T& listener ) { mListeners.push_back( &listener ); }
	void removeListener( T& listener ) { mListeners.remove( &listener ); }
	void clear() { mListeners.clear(); }

	const TListenerVector& getListeners() const { return mListeners; }
	TListenerVector& getListeners() { return mListeners; }

private:
	TListenerVector mListeners;
};


}; // namespace

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?