Miam-Player  0.8.0
A nice music player
Factory< Id, T, Class > Class Template Reference

#include <factory.h>

Inheritance diagram for Factory< Id, T, Class >:
Singleton< Class >

Public Member Functions

Type * create (const ID &id)
 
template<class C >
bool register_ (const ID &id)
 
bool registerCreator (const ID &id, const Creator &callback)
 
bool registerIdName (const ID &id, const char *name)
 
bool unregisterCreator (const ID &id)
 
ID id (const char *name, bool caseSensitive=true) const
 
const char * name (const ID &id) const
 
size_t count () const
 
const std::vector< ID > & registeredIds () const
 
std::vector< const char * > registeredNames () const
 
Type * getRandom ()
 

Protected Member Functions

 Factory ()
 
virtual ~Factory ()
 
- Protected Member Functions inherited from Singleton< Class >
 Singleton ()
 
virtual ~Singleton ()
 

Additional Inherited Members

- Public Types inherited from Singleton< Class >
typedef Class ObjectType
 
- Static Public Member Functions inherited from Singleton< Class >
static Class & Instance ()
 

Constructor & Destructor Documentation

template<typename Id, typename T, class Class>
Factory< Id, T, Class >::Factory ( )
inlineprotected
template<typename Id, typename T, class Class>
virtual Factory< Id, T, Class >::~Factory ( )
inlineprotectedvirtual

Member Function Documentation

template<typename Id , typename T , class Class >
size_t Factory< Id, T, Class >::count ( ) const
template<typename Id , typename T , class Class >
Factory< Id, T, Class >::Type * Factory< Id, T, Class >::create ( const ID &  id)
template<typename Id , typename T , class Class >
Factory< Id, T, Class >::Type * Factory< Id, T, Class >::getRandom ( )
template<typename Id , typename T , class Class >
Factory< Id, T, Class >::ID Factory< Id, T, Class >::id ( const char *  name,
bool  caseSensitive = true 
) const
template<typename Id , typename T , class Class >
const char * Factory< Id, T, Class >::name ( const ID &  id) const
template<typename Id, typename T, class Class>
template<class C >
bool Factory< Id, T, Class >::register_ ( const ID &  id)
inline
template<typename Id , typename T , class Class >
bool Factory< Id, T, Class >::registerCreator ( const ID &  id,
const Creator &  callback 
)
template<typename Id , typename T , class Class >
const std::vector< Id > & Factory< Id, T, Class >::registeredIds ( ) const
template<typename Id , typename T , class Class >
std::vector< const char * > Factory< Id, T, Class >::registeredNames ( ) const
template<typename Id , typename T , class Class >
bool Factory< Id, T, Class >::registerIdName ( const ID &  id,
const char *  name 
)
template<typename Id , typename T , class Class >
bool Factory< Id, T, Class >::unregisterCreator ( const ID &  id)

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