An object factory, once a class is registered with the factory it can be used to create instances of registered classes.
More...
#include <ObjectFactory.h>
|
template<typename Derived > |
bool | registerClass (const std::string &className) |
| Register a class with the factory. More...
|
|
std::shared_ptr< Base > | create (const std::string &className) |
| Create an instance of a class based on the specific class name. More...
|
|
bool | isRegistered (const std::string &className) const |
| Check whether the class is registered in the factory. More...
|
|
template<typename Base>
class SurgSim::Framework::ObjectFactory< Base >
An object factory, once a class is registered with the factory it can be used to create instances of registered classes.
All the classes registered need to have a default constructor.
- Note
- The names used for registration and the actual c++ class names are independent the className parameter here is just an identifier for the class.
- Template Parameters
-
Base | the base class for all classes that can be registered with the factory. |
§ create()
Create an instance of a class based on the specific class name.
- Parameters
-
className | The class name that was used to register the class. |
- Returns
- a shared pointer to the object of type className, fails with an assertion otherwise.
§ isRegistered()
Check whether the class is registered in the factory.
- Parameters
-
className | Name of the class to check. |
- Returns
- true if the factory has a constructor for this class.
§ registerClass()
template<class Base >
template<class Derived >
Register a class with the factory.
- Template Parameters
-
T | The specific type of the class to be registered. |
- Parameters
-
className | The name of this class. |
- Returns
- true if the class was added, false if it already existed in the registry.
The documentation for this class was generated from the following files: