transformhelper.h

来自「The article describes a smart binding of」· C头文件 代码 · 共 50 行

H
50
字号
#ifndef	__Transform_Helper_H
#define	__Transform_Helper_H

#include	"Transformation.h"
#include	"Destroyer.h"

#include	<string>
#include	<vector>
using namespace std;

#ifndef	null
#define	null	0
#endif

class	ITransform;

class	TransformHelper
{
//	Methods
public:
	static TransformHelper* Instance()
	{
	//	Uses "Lazy initialization"
		if (!instance_)
		{
			instance_ = new TransformHelper();
			destroyer_.SetObject(instance_);
		}
		return instance_;
	}

	int		ObjectsNumber		()	{ return static_cast<int>(transformObjects_.size());	}
	void	Add					(ITransform* transform);
	void	Remove				(ITransform* transform);
ITransform* Get					(int index);
ITransform* Get					(const string& name);
	bool	Exist				(const string& name);

//	Constructor
protected:
	TransformHelper				() {}

private:
	static	TransformHelper*			instance_;
	static	Destroyer<TransformHelper>	destroyer_;
	vector<ITransform*>					transformObjects_;
};

#endif

⌨️ 快捷键说明

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