![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Namespaces | |
| namespace | Detail |
Data Structures | |
| class | TInherit |
| 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... | |
Concepts | |
| concept | CHasBases |
| Some MCRO utilities allow for intrusive method of declaring inheritance which can be later used to reflect upon base classes of a derived type. | |
| concept | CHasExplicitBase |
Functions | |
| template<typename T , typename Function > requires (CHasBases<T> || CIsTypeList<T>) | |
| constexpr void | ForEachExplicitBase (Function &&function) |
Operate on each of the explicitly listed base classes of a given type with a lambda function template. If any given type also happens to match CHasBases, iterate on their base types too recursively. Works directly with CHasBases or type lists (CIsTypeList). | |
| template<typename T , typename Bases > requires (CHasBases<Bases> || CIsTypeList<Bases>) | |
| constexpr bool | HasExplicitBase () |
|
constexpr |
Operate on each of the explicitly listed base classes of a given type with a lambda function template. If any given type also happens to match CHasBases, iterate on their base types too recursively. Works directly with CHasBases or type lists (CIsTypeList).
Usage:
| T | A type which uses TInherit or has a TTypes list member-aliased as Bases |
| Function | Type of per-base operation |
| function | Per-base operation |
Definition at line 83 of file Inheritance.h.
|
constexpr |
Definition at line 93 of file Inheritance.h.