Loading...
Searching...
No Matches
score::PolymorphicComponentHierarchyManager< ParentComponent_T, ChildModel_T, ChildComponent_T, ChildComponentFactoryList_T, HasOwnership > Class Template Reference
Manages polymorphic hierarchies of components. More...
Inheritance diagram for score::PolymorphicComponentHierarchyManager< ParentComponent_T, ChildModel_T, ChildComponent_T, ChildComponentFactoryList_T, HasOwnership >:
Detailed Description
template<typename ParentComponent_T, typename ChildModel_T, typename ChildComponent_T, typename ChildComponentFactoryList_T, bool HasOwnership = true>
class score::PolymorphicComponentHierarchyManager< ParentComponent_T, ChildModel_T, ChildComponent_T, ChildComponentFactoryList_T, HasOwnership >
class score::PolymorphicComponentHierarchyManager< ParentComponent_T, ChildModel_T, ChildComponent_T, ChildComponentFactoryList_T, HasOwnership >
Manages polymorphic hierarchies of components.
Like ComponentHierarchyManager, but used when the components of the child class are polymorphic. For instance, if we have a Process, we want to create components that will be specific to each Process type. But then we have to source them from a factory somehow.
Classes | |
| struct | ChildPair |
Public Types | |
| using | hierarchy_t = PolymorphicComponentHierarchyManager |
Public Member Functions | |
| template<typename... Args> | |
| PolymorphicComponentHierarchyManager (Args &&... args) | |
| template<typename... Args> | |
| PolymorphicComponentHierarchyManager (lazy_init_t, Args &&... args) | |
| void | init_hierarchy () |
| const auto & | children () const |
| void | add (ChildModel_T &element) |
| void | remove (const ChildModel_T &model) |
| void | clear () |
The documentation for this class was generated from the following file: