18 template <
typename BaseType,
typename CallableType>
25 template <
typename BaseType,
typename CallableType>
46template <
typename FuncType,
typename...
ArgTypes>
48 ->
decltype(uLang::ForwardArg<FuncType>(Func)(uLang::ForwardArg<ArgTypes>(Args)...))
50 return uLang::ForwardArg<FuncType>(Func)(uLang::ForwardArg<ArgTypes>(Args)...);
53template <
typename ReturnType,
typename ObjType,
typename CallableType>
57 return Private::DereferenceIfNecessary<ObjType>(uLang::ForwardArg<CallableType>(Callable)).*
pdm;
64 return (Private::DereferenceIfNecessary<ObjType>(uLang::ForwardArg<CallableType>(Callable)).*
PtrMemFun)(uLang::ForwardArg<ArgTypes>(Args)...);
71 return (Private::DereferenceIfNecessary<ObjType>(uLang::ForwardArg<CallableType>(Callable)).*
PtrMemFun)(uLang::ForwardArg<ArgTypes>(Args)...);
89#define ULANG_PROJECTION(FuncName) \
92 return FuncName(uLang::ForwardArg<decltype(Args)>(Args)...); \
110#define ULANG_PROJECTION_MEMBER(Type, FuncName) \
111 [](auto&& Obj, auto&&... Args) \
113 return Private::DereferenceIfNecessary<Type>(uLang::ForwardArg<decltype(Obj)>(Obj)).FuncName(uLang::ForwardArg<decltype(Args)>(Args)...); \
121 template <
typename T>
124 template <
typename T>
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ULANG_FORCEINLINE
Definition Common.h:188
Definition Conditionals.h:95
Definition OverriddenPropertySet.cpp:45
ULANG_FORCEINLINE auto DereferenceIfNecessary(CallableType &&Callable) -> typename TEnableIf< TPointerIsConvertibleFromTo< typename TDecay< CallableType >::Type, typename TDecay< BaseType >::Type >::Value, decltype((CallableType &&) Callable)>::Type
Definition Invoke.h:19
Definition VVMEngineEnvironment.h:23
ULANG_FORCEINLINE auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(uLang::ForwardArg< FuncType >(Func)(uLang::ForwardArg< ArgTypes >(Args)...))
Definition Invoke.h:47
ULANG_FORCEINLINE T && ForwardArg(typename TRemoveReference< T >::Type &Obj)
Definition References.h:115
@ Value
Definition Invoke.h:133
void Type
Definition Invoke.h:127
typename Private::TDecayNonReference< typename TRemoveReference< T >::Type >::Type Type
Definition References.h:60