A Factory singleton class for creating objects whose class derives from FunctionBase.
More...
#include <FunctionFactory.h>
|
| void | add (FunctionBase *) |
| | Adds a prototype object to the list of prototypes. More...
|
| |
| FunctionBase * | create (const std::string &name) |
| | Creates a new object from a prototype named name. More...
|
| |
| bool | exists (const std::string &name) const |
| | Returns true if prototype with name name exists in the factory, otherwise returns false. More...
|
| |
| const std::vector< std::string > & | names () const |
| | Returns the list of available prototype names. More...
|
| |
| FunctionBase * | prototype (const std::string &name) const |
| | Returns a pointer to a prototype with name name. More...
|
| |
| void | remove (const std::string &name) |
| | Removes the named prototype object from the list of prototypes. More...
|
| |
|
| | FunctionFactory () |
| | A default constructor for prevent creation except by the itself or the derived classes. More...
|
| |
A Factory singleton class for creating objects whose class derives from FunctionBase.
- Requests:
- Be able to add new functions from a shared library.
- Author
- Paul F. Kunz Paul_.nosp@m.Kunz.nosp@m.@slac.nosp@m..sta.nosp@m.nford.nosp@m..edu
Definition at line 31 of file FunctionFactory.h.
A private copy constructor to prevent copying.
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.
| 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: