![]() |
MCRO
C++23 utilities for Unreal Engine.
|
Go to the source code of this file.
Data Structures | |
| class | Mcro::Inheritance::TInherit< BaseTypes > |
| 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... | |
Namespaces | |
| namespace | Mcro |
| namespace | Mcro::Inheritance |
| namespace | Mcro::Inheritance::Detail |
Concepts | |
| concept | Mcro::Inheritance::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 | Mcro::Inheritance::CHasExplicitBase |
Functions | |
| template<CIsTypeList Bases, typename Function > | |
| constexpr void | Mcro::Inheritance::Detail::ForEachExplicitBase (Function &&function) |
| template<typename T , typename Function > | |
| constexpr void | Mcro::Inheritance::Detail::ForEachExplicitBase_Body (Function &&function) |
| template<CIsTypeList Bases, typename Function , size_t... Indices> | |
| constexpr void | Mcro::Inheritance::Detail::ForEachExplicitBase_Impl (Function &&function, std::index_sequence< Indices... > &&) |
| template<typename T , typename Function > requires (CHasBases<T> || CIsTypeList<T>) | |
| constexpr void | Mcro::Inheritance::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 | Mcro::Inheritance::HasExplicitBase () |
Definition in file Inheritance.h.