aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/common/je_singleton.hpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-12 21:48:33 +0800
committerchai <chaifix@163.com>2019-01-12 21:48:33 +0800
commit8b00d67febf133e89f6a0bfabc41feed555dc4a9 (patch)
treefe48ef17c250afa40c2588300fcdb5920dba6951 /src/libjin/common/je_singleton.hpp
parenta907c39756ef6b368d06643afa491c49a9044a8e (diff)
*去掉文件前缀je_
Diffstat (limited to 'src/libjin/common/je_singleton.hpp')
-rw-r--r--src/libjin/common/je_singleton.hpp84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/libjin/common/je_singleton.hpp b/src/libjin/common/je_singleton.hpp
deleted file mode 100644
index 51dc9c5..0000000
--- a/src/libjin/common/je_singleton.hpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef __JE_SINGLETON_H__
-#define __JE_SINGLETON_H__
-
-#include "je_object.h"
-#include "je_exception.h"
-
-namespace JinEngine
-{
-
- ///
- /// Singleton base class.
- ///
- template<class T>
- class Singleton : public Object
- {
- public:
- ///
- /// Get singleton.
- ///
- /// @param Singleton instance of class.
- ///
- static T* get()
- {
- if (_instance == nullptr)
- _instance = new T;
- return _instance;
- }
-
- ///
- /// Destroy instance of singleton.
- ///
- static void destroy()
- {
- delete _instance;
- _instance = nullptr;
- }
-
- protected:
- ///
- /// Singleton constructor.
- ///
- Singleton()
- {
- // Check singleton.
- if (_instance)
- throw Exception("This is a singleton.");
- };
-
- ///
- /// Singleton destructor.
- ///
- virtual ~Singleton() {};
-
- ///
- /// Singleton instance.
- ///
- static T* _instance;
-
- private:
- ///
- /// Singleton copy constructor.
- ///
- /// @param singleton Singleton of class.
- ///
- Singleton(const Singleton& singleton);
-
- ///
- /// Singleton assignment.
- ///
- /// @param singleton Singleton of class.
- ///
- Singleton& operator = (const Singleton& singleton);
-
- };
-
- ///
- /// Singleton instance.
- ///
- template<class T>
- T* Singleton<T>::_instance = nullptr;
-
-} // namespace JinEngine
-
-#endif // __JE_SINGLETON_H__ \ No newline at end of file