DeSiGNAR  0.5a
Data Structures General Library
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
Designar::Singleton< T > Class Template Reference

#include <singleton.H>

Public Member Functions

virtual ~Singleton ()
 

Static Public Member Functions

static T * get_ptr_instance ()
 
static T & get_instance ()
 

Protected Member Functions

 Singleton ()
 
 Singleton (const Singleton< T > &)=delete
 
Singletonoperator= (const Singleton< T > &)=delete
 

Detailed Description

template<typename T>
class Designar::Singleton< T >

Generic Singleton.

This class was designed in order to being reused for any class which requires only one instance.

Parameters
TBase class.

Usage example:

class MySingletonClass : public Singleton<MySingletonClass>
{
friend class Singleton<MySingletonClass>;
// If you need default constructor, make it protected.
protected:
MySingletonClass() { }
// Any attributes or methods;
};
MySingletonClass * ptr_instance = MySingletonClass::get_ptr_instance();
MySingletonClass & instance = MySingletonClass::get_instance();
Author
: Alejandro J. Mujica

Constructor & Destructor Documentation

template<typename T >
Designar::Singleton< T >::Singleton ( )
inlineprotected
template<typename T >
Designar::Singleton< T >::Singleton ( const Singleton< T > &  )
protecteddelete
template<typename T >
virtual Designar::Singleton< T >::~Singleton ( )
inlinevirtual

Member Function Documentation

template<typename T >
static T& Designar::Singleton< T >::get_instance ( )
inlinestatic

Get a reference to instance.

Returns
A reference to instance.
template<typename T >
static T* Designar::Singleton< T >::get_ptr_instance ( )
inlinestatic

Get a pointer to instance.

Returns
A pointer to instance.
template<typename T >
Singleton& Designar::Singleton< T >::operator= ( const Singleton< T > &  )
protecteddelete

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