summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-core/singleton.hpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-25 23:46:59 +0800
committerchai <chaifix@163.com>2019-03-25 23:46:59 +0800
commit03b3b8ae80559745f98ef94569b421adddeb441f (patch)
tree7bf46892fef7453d4c25172333bd4fbddb29ee16 /source/libs/asura-lib-core/singleton.hpp
parent82956beb1fe17e1226327638c8ab22b5f5adfc1d (diff)
*misc
Diffstat (limited to 'source/libs/asura-lib-core/singleton.hpp')
-rw-r--r--source/libs/asura-lib-core/singleton.hpp59
1 files changed, 0 insertions, 59 deletions
diff --git a/source/libs/asura-lib-core/singleton.hpp b/source/libs/asura-lib-core/singleton.hpp
deleted file mode 100644
index 756209a..0000000
--- a/source/libs/asura-lib-core/singleton.hpp
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __ASURA_SINGLETON_H__
-#define __ASURA_SINGLETON_H__
-
-#include "Config.h"
-
-namespace AsuraEngine
-{
-
- ///
- /// ̳Singletonڵһʵʱʵ֮ٴʵᱨ
- ///
- template<class T>
- class Singleton
- {
- public:
-
- static T* Get()
- {
- // ֮ǰûдһ
- if (!instance) instance = new T;
- // ʵ
- return instance;
- }
-
- static void Destroy()
- {
- delete instance;
- instance = nullptr;
- }
-
- protected:
-
- Singleton()
- {
- // instanceζִһʵǴġ
- ASSERT(!instance);
- // 򣬽ʵΪʵ
- instance = static_cast<T*>(this);
- };
-
- virtual ~Singleton() {};
-
- static T* instance;
-
- private:
-
- Singleton(const Singleton& singleton);
-
- Singleton& operator = (const Singleton& singleton);
-
- };
-
- // ʵʼΪ
- template<class T>
- T* Singleton<T>::instance = nullptr;
-
-}
-
-#endif // __ASURA_SINGLETON_H__ \ No newline at end of file