conversionhelper.h
来自「The article describes a smart binding of」· C头文件 代码 · 共 50 行
H
50 行
#ifndef __Conversion_Helper_H
#define __Conversion_Helper_H
#include "Conversion.h"
#include "Destroyer.h"
#include <string>
#include <vector>
using namespace std;
#ifndef null
#define null 0
#endif
class IConversion;
class ConversionHelper
{
// Methods
public:
static ConversionHelper* Instance()
{
// Uses "Lazy initialization"
if (!instance_)
{
instance_ = new ConversionHelper();
destroyer_.SetObject(instance_);
}
return instance_;
}
int ObjectsNumber () { return static_cast<int>(conversionObjects_.size()); }
void Add (IConversion* conversion);
void Remove (IConversion* conversion);
IConversion* Get (int index);
IConversion* Get (const string& name);
bool Exist (const string& name);
// Constructor
protected:
ConversionHelper () {}
private:
static ConversionHelper* instance_;
static Destroyer<ConversionHelper> destroyer_;
vector<IConversion*> conversionObjects_;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?