UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IsInvocable.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "Templates/Invoke.h"
6
7
namespace
UE::Core::Private::IsInvocable
8
{
9
template
<
typename
T>
10
T&&
DeclVal
();
11
12
template
<
typename
T>
13
struct
TVoid
14
{
15
typedef
void
Type
;
16
};
17
18
template
<
typename
,
typename
CallableType
,
typename
...
ArgTypes
>
19
struct
TIsInvocableImpl
20
{
21
enum
{
Value
=
false
};
22
};
23
24
template
<
typename
CallableType
,
typename
...
ArgTypes
>
25
struct
TIsInvocableImpl
<
typename
TVoid
<
decltype
(
Invoke
(
DeclVal
<
CallableType
>(),
DeclVal
<
ArgTypes
>()...))>::Type,
CallableType
,
ArgTypes
...>
26
{
27
enum
{
Value
=
true
};
28
};
29
}
30
45
template
<
typename
CallableType
,
typename
...
ArgTypes
>
46
struct
TIsInvocable
:
UE::Core::Private::IsInvocable::TIsInvocableImpl
<void, CallableType, ArgTypes...>
47
{
48
};
Invoke
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition
Invoke.h:44
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
UE::Core::Private::IsInvocable
Definition
IsInvocable.h:8
UE::Core::Private::IsInvocable::DeclVal
T && DeclVal()
TIsInvocable
Definition
IsInvocable.h:47
UE::Core::Private::IsInvocable::TIsInvocableImpl
Definition
IsInvocable.h:20
UE::Core::Private::IsInvocable::TIsInvocableImpl::Value
@ Value
Definition
IsInvocable.h:21
UE::Core::Private::IsInvocable::TVoid
Definition
IsInvocable.h:14
UE::Core::Private::IsInvocable::TVoid::Type
void Type
Definition
IsInvocable.h:15
Engine
Source
Runtime
Core
Public
Templates
IsInvocable.h
Generated by
1.9.8