16 template <
typename... Args>
19 return new T( std::forward<Args>( args )... );
23 template <
typename D,
typename... Args>
27 return new D( std::forward<Args>( args )... );
54#if defined( TOSHI_MODLOADER ) || defined( TOSHI_MODLOADER_CLIENT )
#define TOSHI_NAMESPACE_START
#define TSTATICASSERT(...)
#define TOSHI_NAMESPACE_END
T * TSingleton< T >::ms_pSingleton
TSingleton(const TSingleton &)=delete
TSingleton & operator=(const TSingleton &)=delete
static TFORCEINLINE T * CreateSingleton(Args &&... args)
static TFORCEINLINE void DestroySingleton()
TSingleton(const TSingleton &&)=delete
static TFORCEINLINE D * CreateSingleton(Args &&... args)
TSingleton & operator=(const TSingleton &&)=delete
static TFORCEINLINE TBOOL IsSingletonCreated()
TFORCEINLINE TSingleton()
static TFORCEINLINE T * GetSingleton()
static TFORCEINLINE T * GetSingletonSafe()
TFORCEINLINE ~TSingleton()