Scarab  v2.4.2
Project 8 C++ Utility Library
Static Public Member Functions | Protected Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members
singleton< x_type > Class Template Reference

#include <singleton.hh>

Inheritance diagram for singleton< x_type >:
Inheritance graph

Static Public Member Functions

static x_type * get_instance ()
 
static void kill_instance ()
 
template<class... x_args>
static x_type * create_instance (x_args... args)
 

Protected Member Functions

 singleton ()
 
 ~singleton ()
 

Static Private Member Functions

static void construct_instance ()
 
static void delete_instance ()
 

Static Private Attributes

static x_type * f_instance = nullptr
 
static destroyer< x_type > f_destroyer
 
static std::mutex f_mutex
 

Friends

class destroyer< x_type >
 

Detailed Description

template<class x_type>
class scarab::singleton< x_type >

Definition at line 18 of file singleton.hh.

Constructor & Destructor Documentation

◆ singleton()

singleton ( )
protected

Definition at line 110 of file singleton.hh.

◆ ~singleton()

~singleton ( )
protected

Definition at line 114 of file singleton.hh.

Member Function Documentation

◆ construct_instance()

void construct_instance ( )
staticprivate

Definition at line 89 of file singleton.hh.

◆ create_instance()

x_type * create_instance ( x_args...  args)
static

Definition at line 76 of file singleton.hh.

◆ delete_instance()

void delete_instance ( )
staticprivate

Definition at line 99 of file singleton.hh.

◆ get_instance()

x_type * get_instance ( )
static

Definition at line 53 of file singleton.hh.

◆ kill_instance()

void kill_instance ( )
static

Definition at line 64 of file singleton.hh.

Friends And Related Function Documentation

◆ destroyer< x_type >

friend class destroyer< x_type >
friend

Definition at line 39 of file singleton.hh.

Member Data Documentation

◆ f_destroyer

destroyer< x_type > f_destroyer
staticprivate

Definition at line 33 of file singleton.hh.

◆ f_instance

x_type * f_instance = nullptr
staticprivate

Definition at line 32 of file singleton.hh.

◆ f_mutex

std::mutex f_mutex
staticprivate

Definition at line 34 of file singleton.hh.


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