Libftpp
A modern C++ library
Singleton< TType > Class Template Reference

Singleton Design Pattern. More...

#include <singleton.hpp>

Static Public Member Functions

static TType * instance ()
 
template<typename... TArgs>
static void instantiate (TArgs... p_args)
 
static void reset ()
 

Detailed Description

template<typename TType>
class Singleton< TType >

Singleton Design Pattern.

Template Parameters
TTypeType of the singleton class
class MyClass
{
public:
int value;
std::string name; *
MyClass() : value(0), name("default") {}
MyClass(int v, const std::string& n) : value(v), name(n) {} *
void someMethod()
{
value += 1;
}
};
// Usage
instance->someMethod();
// Now instance->value == 43
static TType * instance()
Definition: singleton.hpp:47
static void instantiate(TArgs... p_args)
Definition: singleton.hpp:56

Definition at line 37 of file singleton.hpp.

Member Function Documentation

◆ instance()

template<typename TType >
static TType* Singleton< TType >::instance ( )
inlinestatic

Definition at line 47 of file singleton.hpp.

◆ instantiate()

template<typename TType >
template<typename... TArgs>
static void Singleton< TType >::instantiate ( TArgs...  p_args)
inlinestatic

Definition at line 56 of file singleton.hpp.

◆ reset()

template<typename TType >
static void Singleton< TType >::reset ( )
inlinestatic

Definition at line 64 of file singleton.hpp.