107#ifndef LASS_GUARDIAN_OF_INCLUSION_UTIL_SINGLETON_H
108#define LASS_GUARDIAN_OF_INCLUSION_UTIL_SINGLETON_H
132 destructionPriorityInternalProxyMan = 0,
133 destructionPriorityInternalPythonMutex = 50,
134 destructionPriorityInternalTlsDestructors = 100,
135 destructionPriorityInternalAllocators = 200,
136 destructionPriorityInternalTlsLocalsMain = 400
139template<
class T,
int destructPriority = destructionPriorityDefault>
144 typedef Singleton<T, destructPriority> TSelf;
147 enum { destructionPriority = destructPriority };
150 virtual ~Singleton();
156 static bool deadReference(
bool setReferenceToDead =
false);
158 std::unique_ptr<TInstance> instance_;
static TInstance * instance()
Return pointer to singleton instance.
DestructionPriorities
Destruction priority constants.
base class of all singletons.
general utility, debug facilities, ...
@ destructionPriorityDefault
default priority level =)
@ destructionPriorityNever
never destruct the singleton, let it live forever.
@ destructionPriorityBeginUser
lowest legal level for user code
Library for Assembled Shared Sources.