Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance. More...
#include <juce_Singleton.h>
Public Member Functions | |
SingletonHolder ()=default | |
~SingletonHolder () | |
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... | |
void | deleteInstance () |
Deletes and resets the current instance, if there is one. More... | |
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... | |
Public Attributes | |
std::atomic< 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.
@tags{Core}
|
default |
|
inline |
|
inlinenoexcept |
Called by the class's destructor to clear the pointer if it is currently set to the given object.
References juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance.
|
inline |
Deletes and resets the current instance, if there is one.
References juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance.
|
inline |
Returns the current instance, or creates a new instance if there isn't one.
References juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance, and jassertfalse.
|
inline |
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 juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance, and juce::gl::p.
Referenced by juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get().
std::atomic<Type*> juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::instance { nullptr } |
Referenced by juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::clear(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::deleteInstance(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get(), juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking(), and juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::~SingletonHolder().