#include <FunctionFactory.h>
Inheritance diagram for FunctionFactory:
Definition at line 29 of file FunctionFactory.h.
Public Member Functions | |
void | add (FunctionBase *) |
Adds a prototype object to the list of prototypes. | |
FunctionBase * | 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 () |
Returns the list of available prototype names. | |
FunctionBase * | prototype (const std::string &name) const |
Returns a pointer to a prototype with name name. | |
Static Public Member Functions | |
static FunctionFactory * | instance () |
Returns a pointer to the singleton instance. | |
Protected Member Functions | |
Factory () | |
The default constructor. | |
FunctionFactory () | |
A default constructor for prevent creation except by the itself or the derived classes. | |
Protected Attributes | |
std::vector< std::string > | m_names |
The list of available types by names. | |
std::map< std::string, FunctionBase * > | m_types |
A list of available types. | |
Private Member Functions | |
FunctionFactory (const FunctionFactory &) | |
A private copy constructor to prevent copying. | |
void | initialize () |
Initializes the factory with a set of default functions. | |
Static Private Attributes | |
static FunctionFactory * | s_instance = 0 |
A pointer to the singleton object. |
|
A private copy constructor to prevent copying.
|
|
A default constructor for prevent creation except by the itself or the derived classes.
Definition at line 36 of file FunctionFactory.cxx. Referenced by instance(). |
|
Adds a prototype object to the list of prototypes.
Referenced by hippodraw::Python::export_FunctionFactory(), and initialize(). |
|
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. Referenced by hippodraw::Python::export_FunctionFactory(). |
|
Returns true if prototype with name name exists in the factory, otherwise returns false.
|
|
The default constructor. Since this constructor is protected, only derived classes of Factory can be created. |
|
Initializes the factory with a set of default functions.
Definition at line 49 of file FunctionFactory.cxx. References Factory< FunctionBase >::add(). Referenced by instance(). |
|
Returns a pointer to the singleton instance.
Definition at line 40 of file FunctionFactory.cxx. References FunctionFactory(), initialize(), and s_instance. Referenced by hippodraw::Python::export_FunctionFactory(), FunctionController::functionExists(), FunctionProjector::FunctionProjector(), FunctionController::isCompatible(), and Inspector::updateFunctionsTab(). |
|
Returns the list of available prototype names.
Referenced by hippodraw::Python::export_FunctionFactory(). |
|
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. |
|
The list of available types by names.
This list should be identical to the list of |
|
A list of available types.
|
|
A pointer to the singleton object.
Definition at line 34 of file FunctionFactory.cxx. Referenced by instance(). |