#include <mn_singleton.hpp>

Public Types

using value_type = T
 
using reference = value_type &
 
using lock_t = TLOCK
 
using pointer = T *
 
using this_type = basic_singleton
 

Public Member Functions

 basic_singleton (this_type &&other)=delete
 
 basic_singleton (const this_type &)=delete
 
void operator= (const this_type &)=delete
 

Static Public Member Functions

static reference instance ()
 

Protected Member Functions

 basic_singleton ()
 

Static Private Attributes

static pointer m_ptr = 0
 
static lock_t m_tLock
 

Member Typedef Documentation

◆ lock_t

template<typename T , class TLOCK = LockType_t>
using mn::basic_singleton< T, TLOCK >::lock_t = TLOCK

◆ pointer

template<typename T , class TLOCK = LockType_t>
using mn::basic_singleton< T, TLOCK >::pointer = T*

◆ reference

template<typename T , class TLOCK = LockType_t>
using mn::basic_singleton< T, TLOCK >::reference = value_type&

◆ this_type

template<typename T , class TLOCK = LockType_t>
using mn::basic_singleton< T, TLOCK >::this_type = basic_singleton

◆ value_type

template<typename T , class TLOCK = LockType_t>
using mn::basic_singleton< T, TLOCK >::value_type = T

Constructor & Destructor Documentation

◆ basic_singleton() [1/3]

template<typename T , class TLOCK = LockType_t>
mn::basic_singleton< T, TLOCK >::basic_singleton ( this_type &&  other)
delete

◆ basic_singleton() [2/3]

template<typename T , class TLOCK = LockType_t>
mn::basic_singleton< T, TLOCK >::basic_singleton ( const this_type )
delete

◆ basic_singleton() [3/3]

template<typename T , class TLOCK = LockType_t>
mn::basic_singleton< T, TLOCK >::basic_singleton ( )
inlineprotected

Member Function Documentation

◆ instance()

template<typename T , class TLOCK = LockType_t>
static reference mn::basic_singleton< T, TLOCK >::instance ( )
inlinestatic

◆ operator=()

template<typename T , class TLOCK = LockType_t>
void mn::basic_singleton< T, TLOCK >::operator= ( const this_type )
delete

Member Data Documentation

◆ m_ptr

template<typename T , class TLOCK >
T * mn::basic_singleton< T, TLOCK >::m_ptr = 0
staticprivate

◆ m_tLock

template<typename T , class TLOCK >
TLOCK mn::basic_singleton< T, TLOCK >::m_tLock
staticprivate

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