#ifndef JSONSINGLETON_H #define JSONSINGLETON_H template class JSONSingleton { public: static inline T get(void){ return get_singleton() -> ptr; } static inline void set(T p){ get_singleton() -> ptr = p; } private: inline JSONSingleton() : ptr(NULL) { } JSONSingleton(const JSONSingleton &); JSONSingleton operator = (const JSONSingleton &); static inline JSONSingleton * get_singleton(void){ static JSONSingleton instance; return &instance; } T ptr; }; #endif