Factory Class Reference
A factory that generates a component based on a string type. More...
#include <Factory.hh>
Public Member Functions | |
template<typename ComponentTypeT > | |
std::unique_ptr< ComponentTypeT > | New () |
Create a new instance of a component. More... | |
std::unique_ptr< components::BaseComponent > | New (const ComponentTypeId &_type) |
Create a new instance of a component. More... | |
std::unique_ptr< ComponentStorageBase > | NewStorage (const ComponentTypeId &_typeId) |
Create a new instance of a component storage. More... | |
template<typename ComponentTypeT > | |
void | Register (const std::string &_type, ComponentDescriptorBase *_compDesc, StorageDescriptorBase *_storageDesc) |
Register a component so that the factory can create instances of the component and its storage based on an ID. More... | |
std::vector< uint64_t > | TypeIds () const |
Get all the registered component types by ID. return Vector of component IDs. More... | |
template<typename ComponentTypeT > | |
void | Unregister () |
Unregister a component so that the factory can't create instances of the component or its storage anymore. More... | |
Detailed Description
A factory that generates a component based on a string type.
Member Function Documentation
◆ New() [1/2]
|
inline |
Create a new instance of a component.
- Returns
- Pointer to a component. Null if the component type could not be handled.
- Template Parameters
-
ComponentTypeT component type requested
◆ New() [2/2]
|
inline |
Create a new instance of a component.
- Parameters
-
[in] _type Component id to create.
- Returns
- Pointer to a component. Null if the component type could not be handled.
◆ NewStorage()
|
inline |
Create a new instance of a component storage.
- Parameters
-
[in] _typeId Type of component which the storage will hold.
- Returns
- Pointer to a storage. Null if the component type could not be handled.
◆ Register()
|
inline |
Register a component so that the factory can create instances of the component and its storage based on an ID.
- Parameters
-
[in] _type Type of component to register. [in] _compDesc Object to manage the creation of ComponentTypeT objects. [in] _storageDesc Object to manage the creation of storages for objects of type ComponentTypeT.
- Template Parameters
-
ComponentTypeT Type of component to register.
◆ TypeIds()
|
inline |
Get all the registered component types by ID. return Vector of component IDs.
◆ Unregister()
|
inline |
Unregister a component so that the factory can't create instances of the component or its storage anymore.
- Template Parameters
-
ComponentTypeT Type of component to unregister.
The documentation for this class was generated from the following file: