1 #ifndef SINGLETON_HPP
\r
2 #define SINGLETON_HPP
\r
13 static T& instance() {
\r
14 static pointer_type instance(createInstance());
\r
16 return getReference(instance);
\r
24 typedef std::auto_ptr<T> pointer_type;
\r
26 static T* createInstance() { return new T(); }
\r
27 static T& getReference(const pointer_type &p) { return *p; }
\r
29 explicit Singleton(const Singleton&);
\r
30 Singleton& operator=(const Singleton&);
\r
33 #endif // SINGLETON_HPP
\r