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 >
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: