diff options
Diffstat (limited to 'src/libjin/Common/je_singleton.hpp')
-rw-r--r-- | src/libjin/Common/je_singleton.hpp | 80 |
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__ |