/* */ #ifndef D_SINGLETON_HOLDER_H #define D_SINGLETON_HOLDER_H namespace aria2 { template class SingletonHolder { private: static T instance_; SingletonHolder() {} public: ~SingletonHolder() {} static T& instance() { return instance_; } static void instance(T& instance) { instance_ = instance; } }; template T SingletonHolder::instance_; } // namespace aria2 #endif // D_SINGLETON_HOLDER_H