Aller à la documentation de ce fichier.00001 #ifndef _SINGLETON_HPP
00002 #define _SINGLETON_HPP
00003
00004 #include <assert.h>
00005
00006 namespace bib {
00007
00008 template <class T>
00009 class Singleton
00010 {
00011
00012
00013 public:
00014 static T* getInstance()
00015 {
00016 assert(_singleton != NULL);
00017 return _singleton;
00018 }
00019
00020 protected:
00021 Singleton() {}
00022 ~Singleton() {}
00023
00024 private:
00025 static T* _singleton;
00026 };
00027
00028 template <class T>
00029 T *Singleton<T>::_singleton = new T;
00030
00031 }
00032
00033 #endif
00034