diff options
Diffstat (limited to 'src/libjin/common/singleton.h')
-rw-r--r-- | src/libjin/common/singleton.h | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/libjin/common/singleton.h b/src/libjin/common/singleton.h deleted file mode 100644 index ff8a9ce..0000000 --- a/src/libjin/common/singleton.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef __JIN_SINGLETON_H -#define __JIN_SINGLETON_H - -namespace jin -{ - template<class T> - class Singleton - { - public: - static T* get() - { - if (_instance == nullptr) - _instance = new T; - return _instance; - } - static void destroy() - { - delete _instance; - _instance = nullptr; - } - protected: - Singleton() {}; - virtual ~Singleton() {}; - private: - Singleton(const Singleton&); - Singleton& operator = (const Singleton&); - - static T* _instance; - }; - - template<class T> T* Singleton<T>::_instance = nullptr; - -#define SINGLETON(T) \ - friend Singleton<T> - -} // jin - -#endif
\ No newline at end of file |