9namespace Arp {
namespace Base {
namespace Core
30 using Ptr = std::unique_ptr<T>;
41 template<
class ...Args>
48 ARP_DEPRECATED(
"Use Singleton<T>::GetInstance() or Singleton<T>::IsCreated() yet.")
49 static Instance* GetInstancePtr(
void);
52 static Ptr& GetStaticInstancePtr(
void);
54 ARP_DEPRECATED("Do not use this operation any more.")
64#include "Arp/Base/Core/Detail/Singleton.ipp"
This class implements the singleton pattern.
Definition: Singleton.hxx:23
static void DisposeInstance(void)
Disposes this singleton instance.
Definition: Singleton.ipp:66
static void SetInstance(T *pInstance)
DEPRECATED.
Definition: Singleton.ipp:100
~Singleton(void)
The protected destructor.
static Instance & CreateInstance(Args &&... args)
Creates this singleton instance.
Definition: Singleton.ipp:31
static Instance & GetInstance(void)
Gets a reference of the singleton instance.
Definition: Singleton.ipp:53
static bool IsCreated(void)
Determines if this singleton instance is create yet.
Definition: Singleton.ipp:44
Singleton(void)
The protected default constructor.
Root namespace for the PLCnext API