代码拉取完成,页面将自动刷新
同步操作将从 留天下/CM-Server 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef TOOL_H
#define TOOL_H
#include<string>
#include<sstream>
#include<atomic>
#include<mutex>
#define CLASS_ESSENTAIL(__TYPE__) \
private: \
__TYPE__(){} \
public: \
virtual ~__TYPE__(){}
#define Inherit(__TYPE__) :public __TYPE__
//单实例设计模式基本参数
#define SINGLE_ATTRIBUTES(__TYPE__) \
private: \
static __TYPE__* m_instance; \
static std::atomic<__TYPE__*> m_load; \
static std::mutex m_mutex
//定义单实例设计模式的基本参数
#define DEFINE_SINGLE_ATTRIBUTES(__TYPE__) \
std::atomic<__TYPE__*> __TYPE__::m_load; \
std::mutex __TYPE__::m_mutex; \
__TYPE__* __TYPE__::m_instance = nullptr
//获取单实例设计模式的实例对象
#define GET_SINGLE_OBJECT(__TYPE__) \
public: \
static __TYPE__* getInstance() \
{ \
m_instance = m_load.load(std::memory_order_relaxed); \
std::atomic_thread_fence(std::memory_order_acquire); \
if (m_instance == nullptr) \
{ \
std::lock_guard<std::mutex> lock(m_mutex); \
m_instance = m_load.load(std::memory_order_relaxed); \
if (m_instance == nullptr) \
{ \
m_instance = new __TYPE__; \
std::atomic_thread_fence(std::memory_order_release); \
m_load.store(m_instance, std::memory_order_release); \
} \
} \
return m_instance; \
}
#define GettingAndSetting(varType,varName,funName) \
protected: varType varName; \
public: virtual varType get##funName(void){return varName;} \
public: virtual void set##funName(varType var) {varName=var;}
#define PROPERTY__REF(varType, varName, funName) \
protected: varType varName; \
public: virtual varType& get##funName(void){return varName;} \
public: virtual void set##funName(const varType& var){varName=var;}
#define NTS numberToString
std::string numberToString(float number);
bool isNum(const std::string & number);
#endif // TOOL_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。