Collects all Flag enums from a component manifest and its traits.
More...
#include <Malena/Traits/Base/MultiCustomFlaggable.h>
Public Types | |
| using | AllFlagsTuple |
| using | type = typename TupleToMultiFlaggable<AllFlagsTuple>::type |
Collects all Flag enums from a component manifest and its traits.
GatherFlags<ComponentManifest, Traits...>::type resolves to a MultiCustomFlaggable instantiation whose template parameters are exactly the non-void Flag enums found in:
ComponentManifest::Flag (if it exists)TraitManifest::Flag for each Trait that has a manifest_type ComponentCore inherits this type to get a single, unified flag store for the entire component hierarchy. void entries are filtered out automatically, so manifests or traits without flags add no overhead.
| ComponentManifest | The component's own manifest, or void. |
| Traits | The extra traits mixed into the component. |
Definition at line 217 of file MultiCustomFlaggable.h.
| using ml::GatherFlags< ComponentManifest, Traits >::AllFlagsTuple |
Definition at line 219 of file MultiCustomFlaggable.h.
| using ml::GatherFlags< ComponentManifest, Traits >::type = typename TupleToMultiFlaggable<AllFlagsTuple>::type |
Definition at line 226 of file MultiCustomFlaggable.h.