CMS 3D CMS Logo

Singleton.h
Go to the documentation of this file.
1 #ifndef DETECTOR_DESCRIPTION_CORE_DDI_SINGLETON_H
2 #define DETECTOR_DESCRIPTION_CORE_DDI_SINGLETON_H
3 
4 namespace DDI {
5  template <class I>
6  class Singleton {
7  public:
8  typedef I value_type;
9  virtual ~Singleton() = default;
10  static value_type& instance();
11 
12  Singleton(void) = delete;
13  Singleton(const Singleton&) = delete;
14  Singleton& operator=(const Singleton&) = delete;
15  };
16 } // namespace DDI
17 
18 #endif
DDI
Definition: DDCompactView.h:24
DDI::Singleton
Definition: Singleton.h:6
AxesNames
Definition: DDAxes.h:13
Exhume::I
const std::complex< double > I
Definition: I.h:8
DDI::Singleton::value_type
I value_type
Definition: Singleton.h:8
DDI::Singleton::~Singleton
virtual ~Singleton()=default
DDI::Singleton::instance
static value_type & instance()
DDI::Singleton::operator=
Singleton & operator=(const Singleton &)=delete
DDI::Singleton::Singleton
Singleton(void)=delete