13 template <
typename OuterType,
typename TargetType>
15 ->
decltype((TargetType&&)Target)
18 return (TargetType&&)Target;
21 template <
typename OuterType,
typename TargetType>
23 ->
decltype(*(TargetType&&)Target)
26 return *(TargetType&&)Target;
43template <
typename FuncType,
typename...
ArgTypes>
45 ->
decltype(((FuncType&&)Func)((
ArgTypes&&)Args...))
47 return ((FuncType&&)Func)((
ArgTypes&&)Args...);
50template <
typename ReturnType,
typename ObjType,
typename TargetType>
54 return UE::Core::Private::DereferenceIfNecessary<ObjType>((TargetType&&)Target, &Target).*
pdm;
64 ->
decltype((UE::Core::Private::DereferenceIfNecessary<ObjType>((TargetType&&)Target, &Target).*
PtrMemFun)((
ArgTypes&&)Args...))
66 return (UE::Core::Private::DereferenceIfNecessary<ObjType>((TargetType&&)Target, &Target).*
PtrMemFun)((
ArgTypes&&)Args...);
84#define UE_PROJECTION(FuncName) \
85 [](auto&&... Args) -> decltype(auto) \
87 return FuncName((decltype(Args)&&)Args...); \
105#define UE_PROJECTION_MEMBER(Type, FuncName) \
106 [](auto&& Obj, auto&&... Args) -> decltype(auto) \
108 return UE::Core::Private::DereferenceIfNecessary<Type>((decltype(Obj)&&)Obj, &Obj).FuncName((decltype(Args)&&)Args...); \
113 template <
typename,
typename FuncType,
typename...
ArgTypes>
118 template <
typename FuncType,
typename...
ArgTypes>
121 using Type =
decltype(
Invoke(std::declval<FuncType>(), std::declval<ArgTypes>()...));
129template <
typename FuncType,
typename...
ArgTypes>
134template <
typename FuncType,
typename...
ArgTypes>
137#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_7
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define AUTORTFM_INFER
Definition AutoRTFMDefines.h:121
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
typename TInvokeResult< FuncType, ArgTypes... >::Type TInvokeResult_T
Definition Invoke.h:135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
typename TMemberFunctionPtrOuter< T >::Type TMemberFunctionPtrOuter_T
Definition MemberFunctionPtrOuter.h:27
Definition Core.Build.cs:8
Definition OverriddenPropertySet.cpp:45
implementation
Definition PlayInEditorLoadingScope.h:8
constexpr auto DereferenceIfNecessary(TargetType &&Target, const volatile OuterType *TargetPtr) -> decltype((TargetType &&) Target)
Definition Invoke.h:14
Definition AdvancedWidgetsModule.cpp:13
decltype(Invoke(std::declval< FuncType >(), std::declval< ArgTypes >()...)) Type
Definition Invoke.h:121