singleton.hpp
Go to the documentation of this file.
00001 
00013 /*****************************************************************************
00014 ** Ifdefs
00015 *****************************************************************************/
00016 
00017 #ifndef ECL_UTILITIES_SINGLETON_HPP_
00018 #define ECL_UTILITIES_SINGLETON_HPP_
00019 
00020 /*****************************************************************************
00021 ** Namespaces
00022 *****************************************************************************/
00023 
00024 namespace ecl {
00025 
00026 /*****************************************************************************
00027 ** Class [Singleton]
00028 *****************************************************************************/
00051 template<typename T> class Singleton
00052 {
00053   public:
00059     static T& instance()
00060     {
00061         static T the_single_instance;  // assumes T has a protected default constructor
00062         return the_single_instance;
00063     }
00064 
00065     virtual ~Singleton () {}
00066 };
00067 
00068 }; // namespace ecl
00069 
00070 #endif /*ECL_UTILITIES_SINGLETON_HPP_*/


ecl_utilities
Author(s): Daniel Stonier
autogenerated on Sun Oct 5 2014 23:35:35