MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
FunctionTraits.h File Reference
#include <utility>
#include "CoreMinimal.h"
#include "Mcro/Concepts.h"

Go to the source code of this file.

Data Structures

struct  Mcro::FunctionTraits::Detail::TFunctionMeta< ReturnIn, Args >
 
struct  Mcro::FunctionTraits::TFunctionTraits< T >
 
struct  Mcro::FunctionTraits::TFunctionTraits< T >
 
struct  Mcro::FunctionTraits::TFunctionTraits< ReturnIn(ClassIn::*)(Args...) const >
 
struct  Mcro::FunctionTraits::TFunctionTraits< ReturnIn(ClassIn::*)(Args...)>
 
struct  Mcro::FunctionTraits::TFunctionTraits< ReturnIn(*)(Args...)>
 
struct  Mcro::FunctionTraits::TFunctionTraits< ReturnIn(Args...)>
 
struct  Mcro::FunctionTraits::TFunctionFromTuple_Struct< Return, Tuple >
 

Namespaces

namespace  Mcro
 
namespace  Mcro::FunctionTraits
 
namespace  Mcro::FunctionTraits::Detail
 

Concepts

concept  Mcro::FunctionTraits::CFunctorObject
 
concept  Mcro::FunctionTraits::CFunctionLike
 
concept  Mcro::FunctionTraits::CFunctionPtr
 
concept  Mcro::FunctionTraits::CHasFunction
 

Typedefs

template<typename T >
using Mcro::FunctionTraits::TFunction_Arguments = typename TFunctionTraits<std::decay_t<T>>::Arguments
 
template<typename T , int I>
using Mcro::FunctionTraits::TFunction_Arg = typename TFunctionTraits<std::decay_t<T>>::template Arg<I>
 
template<typename T , int I>
using Mcro::FunctionTraits::TFunction_ArgDecay = typename TFunctionTraits<std::decay_t<T>>::template ArgDecay<I>
 
template<typename T >
using Mcro::FunctionTraits::TFunction_Return = typename TFunctionTraits<std::decay_t<T>>::Return
 
template<typename T >
using Mcro::FunctionTraits::TFunction_Signature = typename TFunctionTraits<std::decay_t<T>>::Signature
 
template<typename T >
using Mcro::FunctionTraits::TFunction_Class = typename TFunctionTraits<std::decay_t<T>>::Class
 
template<typename Return , typename Tuple , size_t... Indices>
using Mcro::FunctionTraits::TFunctionFromTupleIndices = Return(typename TTupleElement<Indices, Tuple>::Type...)
 
template<typename Return , typename Tuple >
using Mcro::FunctionTraits::TFunctionFromTuple = typename TFunctionFromTuple_Struct<std::decay_t<Return>, std::decay_t<Tuple>>::Type
 
template<typename Return , typename DstFunction >
using Mcro::FunctionTraits::TSetReturn = TFunctionFromTuple<Return, TFunction_Arguments<DstFunction>>
 
template<typename SrcFunction , typename DstFunction >
using Mcro::FunctionTraits::TCopyReturn = TSetReturn<TFunction_Return<SrcFunction>, DstFunction>
 

Functions

template<typename Function , size_t... Sequence>
TFunction_Return< Function > Mcro::FunctionTraits::Detail::InvokeWithTuple_Impl (Function &&function, TFunction_Arguments< Function > const &arguments, std::index_sequence< Sequence... > &&)
 
template<typename Object , typename Function , size_t... Sequence>
TFunction_Return< Function > Mcro::FunctionTraits::Detail::InvokeWithTuple_Impl (Object *object, Function &&function, TFunction_Arguments< Function > const &arguments, std::index_sequence< Sequence... > &&)
 
template<typename Function >
TFunction_Return< Function > Mcro::FunctionTraits::InvokeWithTuple (Function &&function, TFunction_Arguments< Function > const &arguments)
 
template<CFunctionPtr Function, CHasFunction< Function > Object>
TFunction_Return< Function > Mcro::FunctionTraits::InvokeWithTuple (Object *object, Function &&function, TFunction_Arguments< Function > const &arguments)
 

Variables

template<typename T >
constexpr size_t Mcro::FunctionTraits::TFunction_ArgCount = TFunctionTraits<std::decay_t<T>>::ArgumentCount
 
template<typename T >
constexpr bool Mcro::FunctionTraits::TFunction_IsMember = TFunctionTraits<std::decay_t<T>>::IsMember
 
template<typename T >
constexpr bool Mcro::FunctionTraits::TFunction_IsConst = TFunctionTraits<std::decay_t<T>>::IsConst
 

Detailed Description

Author
David Mórász
Date
2025

Definition in file FunctionTraits.h.