![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Inherit via this template to allow other API to reflect upon the base types of deriving class. Base types are inherited as public. If you want privately inherited base classes, just inherit them as normal. More...
#include <Inheritance.h>
Public Types | |
| using | Bases = TTypes<BaseTypes...> |
Public Member Functions | |
| template<typename Self , typename Function > | |
| constexpr void | ForEachBase (this Self &&, Function &&function) |
| Operate on each of the explicit base class of this type with a lambda function template. If any given type also happens to match CHasBases, iterate on their base types too recursively. | |
Inherit via this template to allow other API to reflect upon the base types of deriving class. Base types are inherited as public. If you want privately inherited base classes, just inherit them as normal.
Usage:
Definition at line 123 of file Inheritance.h.
| using Mcro::Inheritance::TInherit< BaseTypes >::Bases = TTypes<BaseTypes...> |
Definition at line 126 of file Inheritance.h.
|
inlineconstexpr |
Operate on each of the explicit base class of this type with a lambda function template. If any given type also happens to match CHasBases, iterate on their base types too recursively.
This is the same as ForEachExplicitBase but for object instances of this type.
Usage:
| Self | deducing this |
| Function | Type of per-base operation |
| function | Per-base operation |
Definition at line 153 of file Inheritance.h.