This Singleton class maintains a list of DataRep objects.
More...
#include <DataRepFactory.h>
Public Member Functions |
void | add (hippodraw::DataRep *) |
| Adds a prototype object to the list of prototypes.
|
hippodraw::DataRep * | create (const std::string &name) |
| Creates a new object from a prototype named name.
|
bool | exists (const std::string &name) const |
| Returns true if prototype with name name exists in the factory, otherwise returns false.
|
const std::vector< std::string > & | names () const |
| Returns the list of available prototype names.
|
hippodraw::DataRep * | prototype (const std::string &name) const |
| Returns a pointer to a prototype with name name.
|
void | remove (const std::string &name) |
| Removes the named prototype object from the list of prototypes.
|
| ~DataRepFactory () |
| The destructor.
|
Static Public Member Functions |
static DataRepFactory * | instance () |
| Returns the pointer to the singleton instance.
|
Protected Member Functions |
| DataRepFactory () |
| The default constructor for avoiding creation except by itself or with derived classes.
|
Protected Attributes |
std::vector< std::string > | m_names |
| The list of available types by names.
|
std::map< std::string,
hippodraw::DataRep * > | m_types |
| A list of available types.
|
Detailed Description
This Singleton class maintains a list of DataRep objects.
They can be looked up by their advertised name. New objects are created by cloning existing ones.
Definition at line 25 of file DataRepFactory.h.
Constructor & Destructor Documentation
A private copy constructor to avoid copying.
Member Function Documentation
Creates a new object from a prototype named name.
If found, returns a new object by invoking the clone() member function of the prototype. If not found, throws a FactoryException object with the name not found.
bool exists |
( |
const std::string & |
name | ) |
const |
|
inherited |
Returns true if prototype with name name exists in the factory, otherwise returns false.
const std::vector< std::string >& names |
( |
| ) |
const |
|
inherited |
Returns the list of available prototype names.
Returns a pointer to a prototype with name name.
If a prototype with name doesn't exit, throws a FactoryException object with the name not found.
void remove |
( |
const std::string & |
name | ) |
|
|
inherited |
Removes the named prototype object from the list of prototypes.
Member Data Documentation
std::vector< std::string > m_names |
|
mutableprotectedinherited |
The list of available types by names.
This list should be identical to the list of m_types
keys. It is updated when the member function names is called.
Definition at line 58 of file Factory.h.
A list of available types.
Definition at line 53 of file Factory.h.
The documentation for this class was generated from the following files: