MCRO
C++23 utilities for Unreal Engine.
|
Namespaces | |
namespace | Detail |
Data Structures | |
struct | TFunctionFromTuple_Struct |
struct | TFunctionTraits |
struct | TFunctionTraits< ReturnIn(*)(Args...)> |
struct | TFunctionTraits< ReturnIn(Args...)> |
struct | TFunctionTraits< ReturnIn(ClassIn::*)(Args...) const > |
struct | TFunctionTraits< ReturnIn(ClassIn::*)(Args...)> |
struct | TFunctionTraits< T > |
Concepts | |
concept | CFunctorObject |
concept | CFunctionLike |
concept | CFunctionPtr |
concept | CHasFunction |
Typedefs | |
template<typename T > | |
using | TFunction_Arguments = typename TFunctionTraits<std::decay_t<T>>::Arguments |
template<typename T , int I> | |
using | TFunction_Arg = typename TFunctionTraits<std::decay_t<T>>::template Arg<I> |
template<typename T , int I> | |
using | TFunction_ArgDecay = typename TFunctionTraits<std::decay_t<T>>::template ArgDecay<I> |
template<typename T > | |
using | TFunction_Return = typename TFunctionTraits<std::decay_t<T>>::Return |
template<typename T > | |
using | TFunction_Signature = typename TFunctionTraits<std::decay_t<T>>::Signature |
template<typename T > | |
using | TFunction_Class = typename TFunctionTraits<std::decay_t<T>>::Class |
template<typename Return , typename Tuple , size_t... Indices> | |
using | TFunctionFromTupleIndices = Return(typename TTupleElement<Indices, Tuple>::Type...) |
template<typename Return , typename Tuple > | |
using | TFunctionFromTuple = typename TFunctionFromTuple_Struct<std::decay_t<Return>, std::decay_t<Tuple>>::Type |
template<typename Return , typename DstFunction > | |
using | TSetReturn = TFunctionFromTuple<Return, TFunction_Arguments<DstFunction>> |
template<typename SrcFunction , typename DstFunction > | |
using | TCopyReturn = TSetReturn<TFunction_Return<SrcFunction>, DstFunction> |
Functions | |
template<typename Function > | |
TFunction_Return< Function > | InvokeWithTuple (Function &&function, TFunction_Arguments< Function > const &arguments) |
template<CFunctionPtr Function, CHasFunction< Function > Object> | |
TFunction_Return< Function > | InvokeWithTuple (Object *object, Function &&function, TFunction_Arguments< Function > const &arguments) |
Variables | |
template<typename T > | |
constexpr size_t | TFunction_ArgCount = TFunctionTraits<std::decay_t<T>>::ArgumentCount |
template<typename T > | |
constexpr bool | TFunction_IsMember = TFunctionTraits<std::decay_t<T>>::IsMember |
template<typename T > | |
constexpr bool | TFunction_IsConst = TFunctionTraits<std::decay_t<T>>::IsConst |
using Mcro::FunctionTraits::TCopyReturn = TSetReturn<TFunction_Return<SrcFunction>, DstFunction> |
Definition at line 191 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_Arg = typename TFunctionTraits<std::decay_t<T>>::template Arg<I> |
Shorthand for getting a type of a function argument at given position I.
Definition at line 134 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_ArgDecay = typename TFunctionTraits<std::decay_t<T>>::template ArgDecay<I> |
Shorthand for getting a decayed type of a function argument at given position I.
Definition at line 138 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_Arguments = typename TFunctionTraits<std::decay_t<T>>::Arguments |
Shorthand for getting a type of a function argument at given position I.
Definition at line 130 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_Class = typename TFunctionTraits<std::decay_t<T>>::Class |
Definition at line 150 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_Return = typename TFunctionTraits<std::decay_t<T>>::Return |
Definition at line 144 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunction_Signature = typename TFunctionTraits<std::decay_t<T>>::Signature |
Definition at line 147 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunctionFromTuple = typename TFunctionFromTuple_Struct<std::decay_t<Return>, std::decay_t<Tuple>>::Type |
Definition at line 185 of file FunctionTraits.h.
using Mcro::FunctionTraits::TFunctionFromTupleIndices = Return(typename TTupleElement<Indices, Tuple>::Type...) |
Definition at line 171 of file FunctionTraits.h.
using Mcro::FunctionTraits::TSetReturn = TFunctionFromTuple<Return, TFunction_Arguments<DstFunction>> |
Definition at line 188 of file FunctionTraits.h.
TFunction_Return< Function > Mcro::FunctionTraits::InvokeWithTuple | ( | Function && | function, |
TFunction_Arguments< Function > const & | arguments ) |
A clone of std::apply for Unreal tuples which also supports function pointers. TL;DR: It calls a function with arguments supplied from a tuple.
Definition at line 222 of file FunctionTraits.h.
TFunction_Return< Function > Mcro::FunctionTraits::InvokeWithTuple | ( | Object * | object, |
Function && | function, | ||
TFunction_Arguments< Function > const & | arguments ) |
A clone of std::apply for Unreal tuples which also supports function pointers. This overload can bind an object TL;DR: It calls a function with arguments supplied from a tuple.
Definition at line 235 of file FunctionTraits.h.
|
inlineconstexpr |
Definition at line 141 of file FunctionTraits.h.
|
inlineconstexpr |
Definition at line 156 of file FunctionTraits.h.
|
inlineconstexpr |
Definition at line 153 of file FunctionTraits.h.