UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes > Class Template Reference
+ Inheritance diagram for TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >:

Classes

class  TMethodPtrResolver
 

Public Member Functions

 TBaseDynamicDelegate ()
 
 TBaseDynamicDelegate (const TScriptDelegate< ThreadSafetyMode > &InScriptDelegate)
 
template<class UserClass >
void __Internal_BindDynamic (UserClass *InUserObject, typename TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_BindDynamic (TObjectPtr< UserClass > InUserObject, typename TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
- Public Member Functions inherited from TScriptDelegate< ThreadSafetyMode >
 TScriptDelegate ()
 
 TScriptDelegate (const TScriptDelegate &Other)
 
 TScriptDelegate (const TScriptDelegate< OtherThreadSafetyMode > &Other)
 
TScriptDelegateoperator= (const TScriptDelegate &Other)
 
TScriptDelegateoperator= (const TScriptDelegate< OtherThreadSafetyMode > &Other)
 
void BindUFunction (UObject *InObject, const FName &InFunctionName)
 
bool IsBound () const
 
bool IsBoundToObject (void const *InUserObject) const
 
bool IsBoundToObjectEvenIfUnreachable (void const *InUserObject) const
 
bool IsCompactable () const
 
void Unbind ()
 
void Clear ()
 
FString ToString () const
 
bool operator== (const TScriptDelegate &Other) const
 
bool operator== (const TScriptDelegate< OtherThreadSafetyMode > &Other) const
 
UE_FORCEINLINE_HINT bool operator!= (const TScriptDelegate &Other) const
 
UE_FORCEINLINE_HINT bool operator!= (const TScriptDelegate< OtherThreadSafetyMode > &Other) const
 
UObjectGetUObject ()
 
const UObjectGetUObject () const
 
UObjectGetUObjectEvenIfUnreachable ()
 
const UObjectGetUObjectEvenIfUnreachable () const
 
WeakPtrTypeGetUObjectRef ()
 
const WeakPtrTypeGetUObjectRef () const
 
FName GetFunctionName () const
 
void ProcessDelegate (void *Parameters) const
 

Additional Inherited Members

- Public Types inherited from TScriptDelegate< ThreadSafetyMode >
using ThreadSafetyMode = typename UE::Core::Private::TScriptDelegateTraits< ThreadSafetyMode >::ThreadSafetyMode
 
using WeakPtrType = typename UE::Core::Private::TScriptDelegateTraits< ThreadSafetyMode >::WeakPtrType
 
- Static Public Member Functions inherited from TScriptDelegate< ThreadSafetyMode >
static TScriptDelegate CopyFrom (const TScriptDelegate< OtherThreadSafetyMode > &Other)
 
- Protected Attributes inherited from TScriptDelegate< ThreadSafetyMode >
WeakPtrType Object
 
FName FunctionName
 

Detailed Description

template<typename ThreadSafetyMode, typename RetValType, typename... ParamTypes>
class TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >

Dynamic delegate template class (UObject-based, serializable). You'll use the various DECLARE_DYNAMIC_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 assign functions to the delegate.

Constructor & Destructor Documentation

◆ TBaseDynamicDelegate() [1/2]

template<typename ThreadSafetyMode , typename RetValType , typename... ParamTypes>
TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >::TBaseDynamicDelegate ( )
inline

Default constructor

◆ TBaseDynamicDelegate() [2/2]

template<typename ThreadSafetyMode , typename RetValType , typename... ParamTypes>
TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >::TBaseDynamicDelegate ( const TScriptDelegate< ThreadSafetyMode > &  InScriptDelegate)
inlineexplicit

Construction from an FScriptDelegate must be explicit. This is really only used by UObject system internals.

Parameters
InScriptDelegateThe delegate to construct from by copying

Member Function Documentation

◆ __Internal_BindDynamic() [1/2]

template<typename ThreadSafetyMode , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >::__Internal_BindDynamic ( TObjectPtr< UserClass >  InUserObject,
typename TMethodPtrResolver< UserClass >::FMethodPtr  InMethodPtr,
FName  InFunctionName 
)
inline

◆ __Internal_BindDynamic() [2/2]

template<typename ThreadSafetyMode , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicDelegate< ThreadSafetyMode, RetValType, ParamTypes >::__Internal_BindDynamic ( UserClass *  InUserObject,
typename TMethodPtrResolver< UserClass >::FMethodPtr  InMethodPtr,
FName  InFunctionName 
)
inline

Binds a UObject instance and a UObject method address to this delegate.

Parameters
InUserObjectUObject instance
InMethodPtrMember function address pointer
InFunctionNameName of member function, without class name

NOTE: Do not call this function directly. Instead, call BindDynamic() which is a macro proxy function that automatically sets the function name string for the caller.


The documentation for this class was generated from the following file: