1 #ifndef _pthread_singleton_
\r
2 #define _pthread_singleton_
\r
4 #include "noncopyable.h"
\r
12 //! SingletonDestroyer
\r
20 Destroyer(T* q) : doomed(q) {
\r
29 Destroyer<T>::~Destroyer() {
\r
43 class Singleton:public NonCopyable
\r
47 static T *Instance();
\r
54 T *Singleton<T>::Instance()
\r
62 static Destroyer<T> des(obj);
\r
64 return const_cast<T*>(obj);
\r
69 #endif // _pthread_singleton_
\r