aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Common/je_singleton.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Common/je_singleton.hpp')
-rw-r--r--src/libjin/Common/je_singleton.hpp80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/libjin/Common/je_singleton.hpp b/src/libjin/Common/je_singleton.hpp
deleted file mode 100644
index d7f52c9..0000000
--- a/src/libjin/Common/je_singleton.hpp
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef __JE_SINGLETON_H__
-#define __JE_SINGLETON_H__
-
-namespace JinEngine
-{
-
- ///
- /// Singleton base class.
- ///
- template<class T>
- class Singleton
- {
- 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() {};
-
- ///
- /// 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;
-
- ///
- /// Singleton notation.
- ///
- #define singleton(T) friend Singleton<T>
-
-} // namespace JinEngine
-
-#endif // __JE_SINGLETON_H__