Files
Destrum/destrum/include/destrum/Singleton.h

23 lines
484 B
C++

#ifndef SINGLETON_H
#define SINGLETON_H
template <typename T>
class Singleton {
public:
static T& GetInstance() {
static T instance{};
return instance;
}
virtual ~Singleton() = default;
Singleton(const Singleton& other) = delete;
Singleton(Singleton&& other) = delete;
Singleton& operator=(const Singleton& other) = delete;
Singleton& operator=(Singleton&& other) = delete;
protected:
Singleton() = default;
};
#endif //SINGLETON_H