32 #ifndef INTERNAL_CLASSES_SINGLETON_H_ 33 #define INTERNAL_CLASSES_SINGLETON_H_ 81 Singleton() noexcept = default;
83 Singleton(const Singleton&) = delete;
85 Singleton& operator=(const Singleton&) = delete;
87 virtual ~Singleton() = default;
91 static T& get_instance() noexcept(std::is_nothrow_constructible<T>::value) {
100 #ifndef NO_THREAD_LOCAL_ 102 static T& get_thread_local_instance() noexcept(
103 std::is_nothrow_constructible<T>::value) {
107 thread_local
static T instance;
112 #endif // NO_THREAD_LOCAL_ Quantum++ main namespace.
Definition: circuits.h:35