JUCE
|
Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance. More...
Inherits MutexType.
Public Member Functions | |
SingletonHolder ()=default | |
~SingletonHolder () | |
Type * | get () |
Returns the current instance, or creates a new instance if there isn't one. More... | |
Type * | getWithoutChecking () |
Returns the current instance, or creates a new instance if there isn't one, but doesn't do any locking, or checking for recursion or error conditions. More... | |
void | deleteInstance () |
Deletes and resets the current instance, if there is one. More... | |
void | clear (Type *expectedObject) noexcept |
Called by the class's destructor to clear the pointer if it is currently set to the given object. More... | |
Public Attributes | |
Type * | instance = nullptr |
Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance.
You generally won't use this directly, but see the macros JUCE_DECLARE_SINGLETON, JUCE_DECLARE_SINGLETON_SINGLETHREADED, JUCE_DECLARE_SINGLETON_SINGLETHREADED_MINIMAL, and JUCE_IMPLEMENT_SINGLETON for how it is intended to be used.
|
default |
SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::~SingletonHolder | ( | ) |
Type* SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get | ( | ) |
Returns the current instance, or creates a new instance if there isn't one.
References SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking(), SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance, and jassertfalse.
Type* SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking | ( | ) |
Returns the current instance, or creates a new instance if there isn't one, but doesn't do any locking, or checking for recursion or error conditions.
References SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance.
Referenced by SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get().
void SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::deleteInstance | ( | ) |
Deletes and resets the current instance, if there is one.
References SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance.
|
noexcept |
Called by the class's destructor to clear the pointer if it is currently set to the given object.
References SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance.
Type* SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance = nullptr |
Referenced by SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::clear(), SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::deleteInstance(), SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get(), SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking(), and SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::~SingletonHolder().