MxEngine
Public Member Functions | Static Public Member Functions | List of all members
MxEngine::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel > Class Template Reference

#include <SingletonHolder.h>

Public Member Functions

 SingletonHolder (const SingletonHolder &)=delete
 
SingletonHolderoperator= (const SingletonHolder &)=delete
 

Static Public Member Functions

static T & Instance ()
 

Detailed Description

template<typename T, template< typename > class CreationPolicy = CreateWithNew, template< typename > class LifetimePolicy = DefaultLifetime, template< typename > class ThreadingModel = SingleThreaded>
class MxEngine::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >

this is Andrei's Alexandrescu SingletonHolder (see "Modern C++ Design" ch. 6) it uses policy-based design which allows to configure class behaviour at compile-time

Member Function Documentation

§ Instance()

template<typename T , template< typename > class CreationPolicy = CreateWithNew, template< typename > class LifetimePolicy = DefaultLifetime, template< typename > class ThreadingModel = SingleThreaded>
static T& MxEngine::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance ( )
inlinestatic

singleton inner object getter. Creates instance, if it not exists, handles destroyed reference access

Returns
reference to singleton object instance

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