SingletonModule< API, Dependencies, APIConstructor > Class Template Reference

#include <singletonmodule.h>

Inheritance diagram for SingletonModule< API, Dependencies, APIConstructor >:
Inheritance graph
[legend]
Collaboration diagram for SingletonModule< API, Dependencies, APIConstructor >:
Collaboration graph
[legend]

Public Types

typedef API::Type Type

Public Member Functions

 SingletonModule ()
 SingletonModule (const APIConstructor &constructor)
virtual ~SingletonModule ()
void selfRegister ()
Dependencies & getDependencies ()
void * getTable ()
void capture ()
void release ()

Private Attributes

Dependencies * m_dependencies
API * m_api
std::size_t m_refcount
bool m_dependencyCheck
bool m_cycleCheck

Detailed Description

template<typename API, typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
class SingletonModule< API, Dependencies, APIConstructor >

Definition at line 75 of file singletonmodule.h.


Member Typedef Documentation

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
typedef API::Type SingletonModule< API, Dependencies, APIConstructor >::Type

Definition at line 83 of file singletonmodule.h.


Constructor & Destructor Documentation

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
SingletonModule< API, Dependencies, APIConstructor >::SingletonModule (  )  [inline]

Definition at line 85 of file singletonmodule.h.

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
SingletonModule< API, Dependencies, APIConstructor >::SingletonModule ( const APIConstructor &  constructor  )  [inline, explicit]

Definition at line 89 of file singletonmodule.h.

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
virtual SingletonModule< API, Dependencies, APIConstructor >::~SingletonModule (  )  [inline, virtual]

Member Function Documentation

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
void SingletonModule< API, Dependencies, APIConstructor >::capture (  )  [inline]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
Dependencies& SingletonModule< API, Dependencies, APIConstructor >::getDependencies (  )  [inline]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
void* SingletonModule< API, Dependencies, APIConstructor >::getTable (  )  [inline]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
void SingletonModule< API, Dependencies, APIConstructor >::release (  )  [inline]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
void SingletonModule< API, Dependencies, APIConstructor >::selfRegister (  )  [inline, virtual]

Implements ModuleRegisterable.

Definition at line 99 of file singletonmodule.h.


Field Documentation

template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
API* SingletonModule< API, Dependencies, APIConstructor >::m_api [private]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
bool SingletonModule< API, Dependencies, APIConstructor >::m_cycleCheck [private]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
Dependencies* SingletonModule< API, Dependencies, APIConstructor >::m_dependencies [private]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
bool SingletonModule< API, Dependencies, APIConstructor >::m_dependencyCheck [private]
template<typename API , typename Dependencies = NullDependencies, typename APIConstructor = DefaultAPIConstructor<API, Dependencies>>
std::size_t SingletonModule< API, Dependencies, APIConstructor >::m_refcount [private]

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

Generated by  doxygen 1.6.2