TBaseDelegate

Unicast delegate base object.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Core

Header

/Engine/Source/Runtime/Core/Public/Delegates/DelegateSignatureImpl.inl

Include

#include "Delegates/DelegateSignatureImpl.inl"

Syntax

template<typename WrappedRetValType, typename... ParamTypes>
class TBaseDelegate : public FDelegateBase

Remarks

Unicast delegate base object.

Use the various DECLARE_DELEGATE macros to create the actual delegate type, templated to the function signature the delegate is compatible with. Then, you can create an instance of that class when you want to bind a function to the delegate.

Specializations

Constructors

Name Description

Public function

TBaseDelegate()

Default constructor

Public function

TBaseDelegate

(
    TYPE_OF_NULLPTR
)

'Null' constructor

Public function

TBaseDelegate

(
    TBaseDelegate&& Other
)

Move constructor.

Public function

TBaseDelegate

(
    const TBaseDelegate& Other
)

Creates and initializes a new instance from an existing delegate object.

Destructors

Name Description

Public function

~TBaseDelegate()

Destructor.

Functions

Name Description

Public function

void

 

BindLambda

(
    FunctorType&& InFunctor,
    VarTypes... Vars
)

Static: Binds a C++ lambda delegate technically this works for any functor types, but lambdas are the primary use case

Public function

void

 

BindRaw

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindRaw

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a raw C++ pointer delegate.

Public function

void

 

BindSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a shared pointer-based (fast, not thread-safe) member function delegate.

Public function

void

 

BindSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a shared pointer-based (fast, not thread-safe) member function delegate.

Public function

void

 

BindStatic

(
    typename TBaseStaticDelegateInstanc...,
    VarTypes... Vars
)

Binds a raw C++ pointer global function delegate

Public function

void

 

BindThreadSafeSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a shared pointer-based (slower, conditionally thread-safe) member function delegate.

Public function

void

 

BindThreadSafeSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindThreadSafeSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a shared pointer-based (slower, conditionally thread-safe) member function delegate.

Public function

void

 

BindThreadSafeSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindUFunction

(
    UObjectTemplate* InUserObject,
    const FName& InFunctionName,
    VarTypes... Vars
)

Binds a UFunction-based member function delegate.

Public function

void

 

BindUObject

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function

void

 

BindUObject

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Binds a UObject-based member function delegate.

Public function

void

 

BindWeakLambda

(
    UserClass* InUserObject,
    FunctorType&& InFunctor,
    VarTypes... Vars
)

Static: Binds a weak object C++ lambda delegate technically this works for any functor types, but lambdas are the primary use case

Public function Static

TBaseDelegat...

 

CreateLambda

(
    FunctorType&& InFunctor,
    VarTypes... Vars
)

Static: Creates a C++ lambda delegate technically this works for any functor types, but lambdas are the primary use case

Public function Static

TBaseDelegat...

 

CreateRaw

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function Static

TBaseDelegat...

 

CreateRaw

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a raw C++ pointer member function delegate.

Public function Static

TBaseDelegat...

 

CreateSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (fast, not thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (fast, not thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (fast, not thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function Static

TBaseDelegat...

 

CreateStatic

(
    typename TIdentity< RetValType(*...,
    VarTypes... Vars
)

Static: Creates a raw C++ pointer global function delegate

Public function Static

TBaseDelegat...

 

CreateThreadSafeSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (slower, conditionally thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateThreadSafeSP

(
    const TSharedRef< UserClass, ESPMod...,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function Static

TBaseDelegat...

 

CreateThreadSafeSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (slower, conditionally thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateThreadSafeSP

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Static: Creates a shared pointer-based (slower, conditionally thread-safe) member function delegate.

Public function Static

TBaseDelegat...

 

CreateUFunction

(
    UObjectTemplate* InUserObject,
    const FName& InFunctionName,
    VarTypes... Vars
)

Static: Creates a UFunction-based member function delegate.

Public function Static

TBaseDelegat...

 

CreateUObject

(
    UserClass* InUserObject,
    typename TMemFunPtrType< true, User...,
    VarTypes... Vars
)

Public function Static

TBaseDelegat...

 

CreateUObject

(
    UserClass* InUserObject,
    typename TMemFunPtrType< false, Use...,
    VarTypes... Vars
)

Static: Creates a UObject-based member function delegate.

Public function Static

TBaseDelegat...

 

CreateWeakLambda

(
    UserClass* InUserObject,
    FunctorType&& InFunctor,
    VarTypes... Vars
)

Static: Creates a weak object C++ lambda delegate technically this works for any functor types, but lambdas are the primary use case

Public function Const

RetValType

 

Execute

(
    ParamTypes... Params
)

Execute the delegate.

Public function Const

TDelegateIns...

 

GetDelegateInstanceProtected()

Returns a pointer to the correctly-typed delegate instance.

Operators

Name Description

Public function

TBaseDelegat...

 

operator=

(
    TBaseDelegate&& Other
)

Move assignment operator.

Public function

TBaseDelegat...

 

operator=

(
    const TBaseDelegate& Other
)

Assignment operator.

Classes

Name

Description

Public struct

FStaticDelegate

Declare the user's static function pointer delegate instance types.

Public struct

TRawMethodDelegate

Declare the user's C++ pointer-based delegate instance types.

Public struct

TRawMethodDelegate_Const

Public struct

TRawMethodDelegate_FourVars

Public struct

TRawMethodDelegate_FourVars_Const

Public struct

TRawMethodDelegate_OneVar

Public struct

TRawMethodDelegate_OneVar_Const

Public struct

TRawMethodDelegate_ThreeVars

Public struct

TRawMethodDelegate_ThreeVars_Const

Public struct

TRawMethodDelegate_TwoVars

Public struct

TRawMethodDelegate_TwoVars_Const

Public struct

TSPMethodDelegate

Declare the user's "fast" shared pointer-based delegate instance types.

Public struct

TSPMethodDelegate_Const

Public struct

TSPMethodDelegate_FourVars

Public struct

TSPMethodDelegate_FourVars_Const

Public struct

TSPMethodDelegate_OneVar

Public struct

TSPMethodDelegate_OneVar_Const

Public struct

TSPMethodDelegate_ThreeVars

Public struct

TSPMethodDelegate_ThreeVars_Const

Public struct

TSPMethodDelegate_TwoVars

Public struct

TSPMethodDelegate_TwoVars_Const

Public struct

TStaticDelegate_FourVars

Public struct

TStaticDelegate_OneVar

Public struct

TStaticDelegate_ThreeVars

Public struct

TStaticDelegate_TwoVars

Public struct

TThreadSafeSPMethodDelegate

Declare the user's "thread-safe" shared pointer-based delegate instance types.

Public struct

TThreadSafeSPMethodDelegate_Const

Public struct

TThreadSafeSPMethodDelegate_FourVars

Public struct

TThreadSafeSPMethodDelegate_FourVars_Const

Public struct

TThreadSafeSPMethodDelegate_OneVar

Public struct

TThreadSafeSPMethodDelegate_OneVar_Const

Public struct

TThreadSafeSPMethodDelegate_ThreeVars

Public struct

TThreadSafeSPMethodDelegate_ThreeVars_Const

Public struct

TThreadSafeSPMethodDelegate_TwoVars

Public struct

TThreadSafeSPMethodDelegate_TwoVars_Const

Public struct

TUFunctionDelegateBinding

Declare the user's UFunction-based delegate instance types.

Public struct

TUFunctionDelegateBinding_FourVars

Public struct

TUFunctionDelegateBinding_OneVar

Public struct

TUFunctionDelegateBinding_ThreeVars

Public struct

TUFunctionDelegateBinding_TwoVars

Public struct

TUObjectMethodDelegate

Declare the user's UObject-based delegate instance types.

Public struct

TUObjectMethodDelegate_Const

Public struct

TUObjectMethodDelegate_FourVars

Public struct

TUObjectMethodDelegate_FourVars_Const

Public struct

TUObjectMethodDelegate_OneVar

Public struct

TUObjectMethodDelegate_OneVar_Const

Public struct

TUObjectMethodDelegate_ThreeVars

Public struct

TUObjectMethodDelegate_ThreeVars_Const

Public struct

TUObjectMethodDelegate_TwoVars

Public struct

TUObjectMethodDelegate_TwoVars_Const

Typedefs

Name

Description

RetValType

Type definition for return value type.

TDelegateInstanceInterface

Type definition for the shared interface of delegate instance types compatible with this delegate class.

TFuncType

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss