| 
    PLCnext API Documentation 25.6.0.37
    
   | 
 
This class implements the singleton pattern. More...
#include <Singleton.hxx>
Public Member Functions | |
| ARP_DEPRECATED ("Use Singleton<T>::GetInstance() or Singleton<T>::IsCreated() yet.") static Instance *GetInstancePtr(void) | |
Static Public Member Functions | |
| template<class ... Args> | |
| static Instance & | CreateInstance (Args &&... args) | 
| Creates this singleton instance. More... | |
| static bool | IsCreated (void) | 
| Determines if this singleton instance is create yet. More... | |
| static Instance & | GetInstance (void) | 
| Gets a reference of the singleton instance. More... | |
| static void | DisposeInstance (void) | 
| Disposes this singleton instance. More... | |
Protected Types | |
| using | SingletonBase = Singleton< T > | 
| Defines this type to be used from derived classes. | |
Protected Member Functions | |
| Singleton (void) | |
| The protected default constructor. | |
| Singleton (const Singleton &arg)=delete | |
| Singleton & | operator= (const Singleton &arg)=delete | 
| Singleton (Singleton &&arg)=delete | |
| Singleton & | operator= (Singleton &&arg)=delete | 
| ~Singleton (void) | |
| The protected destructor. | |
Static Protected Member Functions | |
| static Ptr & | GetStaticInstancePtr (void) | 
| static void | SetInstance (T *pInstance) | 
| DEPRECATED. More... | |
This class implements the singleton pattern.
| Derived | The class to apply the singleton pattern to. | 
Derive your own class called MyClass from Singleton<MyClass> to apply the singleton pattern to this class. 
This class uses CRTP (Curiously recurring template pattern) to implement an own singleton instance for each derived class. For CRTP see: https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
      
  | 
  inlinestatic | 
Creates this singleton instance.
| args | The arguments passed to the constructor of T. Thus there must exists a constructor with a matching signature. | 
| T | The type to create. Usually this is the derived type, but it might also be a polymorphic type. | 
| Args | The argument list must comply to a constructor with a matching signature. | 
      
  | 
  inlinestatic | 
Disposes this singleton instance.
Deletes the singleton instance pointer.
      
  | 
  inlinestatic | 
Gets a reference of the singleton instance.
| Exception | If the singleton instance was not created yet. | 
      
  | 
  inlinestatic | 
Determines if this singleton instance is create yet.
true if this singleton was created yet, otherwise false.
      
  | 
  inlinestaticprotected | 
DEPRECATED.
Do not use this operation any more.