OpenShot Library | OpenShotAudio  0.2.1
juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun > Struct Template Reference

Used by the JUCE_DECLARE_SINGLETON macros to manage a static pointer to a singleton instance. More...

#include <juce_Singleton.h>

+ Inheritance diagram for juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >:

Public Member Functions

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.
 
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
 

Detailed Description

template<typename Type, typename MutexType, bool onlyCreateOncePerRun>
struct juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >

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.

Definition at line 42 of file juce_Singleton.h.

Member Function Documentation

◆ get()

template<typename Type , typename MutexType , bool onlyCreateOncePerRun>
Type* juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::get ( )
inline

Returns the current instance, or creates a new instance if there isn't one.

Definition at line 58 of file juce_Singleton.h.

References juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::getWithoutChecking().

◆ deleteInstance()

template<typename Type , typename MutexType , bool onlyCreateOncePerRun>
void juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::deleteInstance ( )
inline

Deletes and resets the current instance, if there is one.

Definition at line 118 of file juce_Singleton.h.

◆ clear()

template<typename Type , typename MutexType , bool onlyCreateOncePerRun>
void juce::SingletonHolder< Type, MutexType, onlyCreateOncePerRun >::clear ( Type *  expectedObject)
inlinenoexcept

Called by the class's destructor to clear the pointer if it is currently set to the given object.

Definition at line 127 of file juce_Singleton.h.


The documentation for this struct was generated from the following file: