CoreLinux++  0.4.32
Public Member Functions | Static Public Member Functions | List of all members
corelinux::Singleton< TypeImpl > Class Template Reference

Ensure a class only has one instance, and provide a global point of access to it. More...

#include <Singleton.hpp>

Public Member Functions

 Singleton (void) throw ( Assertion )
 Default constructor sets theSingleton and theType after insuring that they are not already instantiated. More...
 
 Singleton (TypeImpl *aTypePtr) throw ( Assertion )
 Initializing constructor.
 
virtual ~Singleton (void)
 Virtual destructor.
 
bool operator== (const Singleton &aSingleton) const
 Equality operator tests that theSingleton instances are equal. More...
 
- Public Member Functions inherited from corelinux::CoreLinuxObject
 CoreLinuxObject (void)
 Default Constructor.
 
 CoreLinuxObject (CoreLinuxObjectCref)
 Copy Constructor. More...
 
virtual ~CoreLinuxObject (void)
 Virtual Destructor.
 
CoreLinuxObjectRef operator= (CoreLinuxObjectCref)
 Assignment operator overload. More...
 
bool operator== (CoreLinuxObjectCref) const
 Equality operator overload. More...
 
bool operator!= (CoreLinuxObjectCref) const
 Non-equality operator overload. More...
 

Static Public Member Functions

static TypeImpl * instance (void)
 Returns the instance of the TypeImpl. More...
 

Detailed Description

template<class TypeImpl>
class corelinux::Singleton< TypeImpl >

Ensure a class only has one instance, and provide a global point of access to it.

This is easier said than done outside of the solution domain. While we can declare a protocol by which the use of this type will prevent multiple applications, we can't insure that the implementor won't violate said protocol.

Constructor & Destructor Documentation

§ Singleton()

template<class TypeImpl>
corelinux::Singleton< TypeImpl >::Singleton ( void  )
throw (Assertion
)
inline

Default constructor sets theSingleton and theType after insuring that they are not already instantiated.

Exceptions
Assertion

Referenced by corelinux::Singleton< TypeImpl >::instance().

Member Function Documentation

§ instance()

template<class TypeImpl>
static TypeImpl* corelinux::Singleton< TypeImpl >::instance ( void  )
inlinestatic

§ operator==()

template<class TypeImpl>
bool corelinux::Singleton< TypeImpl >::operator== ( const Singleton< TypeImpl > &  aSingleton) const
inline

Equality operator tests that theSingleton instances are equal.

Parameters
Singletonconst reference
Returns
bool true if equal

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

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium