UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TDelegateBase< ThreadSafetyMode > Class Template Reference

#include <DelegateBase.h>

+ Inheritance diagram for TDelegateBase< ThreadSafetyMode >:

Public Member Functions

 ~TDelegateBase ()
 
 TDelegateBase (TDelegateBase &&Other)
 
TDelegateBaseoperator= (TDelegateBase &&Other)
 
template<typename OtherThreadSafetyMode >
 TDelegateBase (TDelegateBase< OtherThreadSafetyMode > &&Other)
 
void Unbind ()
 
SIZE_T GetAllocatedSize () const
 
class UObjectGetUObject () const
 
bool IsBound () const
 
const voidGetObjectForTimerManager () const
 
uint64 GetBoundProgramCounterForTimerManager () const
 
bool IsBoundToObject (FDelegateUserObjectConst InUserObject) const
 
bool IsCompactable () const
 
FDelegateHandle GetHandle () const
 

Protected Member Functions

 TDelegateBase ()=default
 
UE_FORCEINLINE_HINT IDelegateInstanceGetDelegateInstanceProtected ()
 
UE_FORCEINLINE_HINT const IDelegateInstanceGetDelegateInstanceProtected () const
 

Friends

struct TWriteLockedDelegateAllocation< ThreadSafetyMode >
 
template<typename >
class TMulticastDelegateBase
 
template<typename >
class TDelegateBase
 
template<class , typename , typename , typename... >
class TBaseUFunctionDelegateInstance
 
template<bool , class , ESPMode , typename , typename , typename... >
class TBaseSPMethodDelegateInstance
 
template<ESPMode , typename , typename , typename , typename... >
class TBaseSPLambdaDelegateInstance
 
template<bool , class , typename , typename , typename... >
class TBaseRawMethodDelegateInstance
 
template<bool , class , typename , typename , typename... >
class TBaseUObjectMethodDelegateInstance
 
template<typename , typename , typename... >
class TBaseStaticDelegateInstance
 
template<typename , typename , typename , typename... >
class TBaseFunctorDelegateInstance
 
template<typename , typename , typename , typename... >
class TWeakBaseFunctorDelegateInstance
 
class FWriteLockedDelegateAllocation
 

Detailed Description

template<typename ThreadSafetyMode>
class TDelegateBase< ThreadSafetyMode >

Base class for unicast delegates.

Constructor & Destructor Documentation

◆ TDelegateBase() [1/3]

template<typename ThreadSafetyMode >
TDelegateBase< ThreadSafetyMode >::TDelegateBase ( )
explicitprotecteddefault

◆ ~TDelegateBase()

template<typename ThreadSafetyMode >
TDelegateBase< ThreadSafetyMode >::~TDelegateBase ( )
inline

◆ TDelegateBase() [2/3]

template<typename ThreadSafetyMode >
TDelegateBase< ThreadSafetyMode >::TDelegateBase ( TDelegateBase< ThreadSafetyMode > &&  Other)
inline

◆ TDelegateBase() [3/3]

template<typename ThreadSafetyMode >
TDelegateBase< ThreadSafetyMode >::TDelegateBase ( TDelegateBase< OtherThreadSafetyMode > &&  Other)
inlineexplicit

Member Function Documentation

◆ GetAllocatedSize()

template<typename ThreadSafetyMode >
SIZE_T TDelegateBase< ThreadSafetyMode >::GetAllocatedSize ( ) const
inline

Returns the amount of memory allocated by this delegate, not including sizeof(*this).

◆ GetBoundProgramCounterForTimerManager()

template<typename ThreadSafetyMode >
uint64 TDelegateBase< ThreadSafetyMode >::GetBoundProgramCounterForTimerManager ( ) const
inline

Returns the address of the method pointer which can be used to learn the address of the function that will be executed. Returns nullptr if this delegate type does not directly invoke a function pointer.

Note: Only intended to be used to aid debugging of delegates.

Returns
The address of the function pointer that would be executed by this delegate

◆ GetDelegateInstanceProtected() [1/2]

template<typename ThreadSafetyMode >
UE_FORCEINLINE_HINT IDelegateInstance * TDelegateBase< ThreadSafetyMode >::GetDelegateInstanceProtected ( )
inlineprotected

Gets the delegate instance. Not intended for use by user code.

Returns
The delegate instance.
See also
SetDelegateInstance

◆ GetDelegateInstanceProtected() [2/2]

template<typename ThreadSafetyMode >
UE_FORCEINLINE_HINT const IDelegateInstance * TDelegateBase< ThreadSafetyMode >::GetDelegateInstanceProtected ( ) const
inlineprotected

◆ GetHandle()

template<typename ThreadSafetyMode >
FDelegateHandle TDelegateBase< ThreadSafetyMode >::GetHandle ( ) const
inline

Gets a handle to the delegate.

Returns
The delegate instance.

◆ GetObjectForTimerManager()

template<typename ThreadSafetyMode >
const void * TDelegateBase< ThreadSafetyMode >::GetObjectForTimerManager ( ) const
inline

Returns a pointer to an object bound to this delegate, intended for quick lookup in the timer manager,

Returns
A pointer to an object referenced by the delegate.

◆ GetUObject()

template<typename ThreadSafetyMode >
class UObject * TDelegateBase< ThreadSafetyMode >::GetUObject ( ) const
inline

If this is a UFunction or UObject delegate, return the UObject.

Returns
The object associated with this delegate if there is one.

◆ IsBound()

template<typename ThreadSafetyMode >
bool TDelegateBase< ThreadSafetyMode >::IsBound ( ) const
inline

Checks to see if the user object bound to this delegate is still valid.

Returns
True if the user object is still valid and it's safe to execute the function call.

◆ IsBoundToObject()

template<typename ThreadSafetyMode >
bool TDelegateBase< ThreadSafetyMode >::IsBoundToObject ( FDelegateUserObjectConst  InUserObject) const
inline

Checks to see if this delegate is bound to the given user object.

Returns
True if this delegate is bound to InUserObject, false otherwise.

◆ IsCompactable()

template<typename ThreadSafetyMode >
bool TDelegateBase< ThreadSafetyMode >::IsCompactable ( ) const
inline

Checks to see if this delegate can ever become valid again - if not, it can be removed from broadcast lists or otherwise repurposed.

Returns
True if the delegate is compatable, false otherwise.

◆ operator=()

template<typename ThreadSafetyMode >
TDelegateBase & TDelegateBase< ThreadSafetyMode >::operator= ( TDelegateBase< ThreadSafetyMode > &&  Other)
inline

◆ Unbind()

template<typename ThreadSafetyMode >
void TDelegateBase< ThreadSafetyMode >::Unbind ( )
inline

Unbinds this delegate

Friends And Related Symbol Documentation

◆ FWriteLockedDelegateAllocation

template<typename ThreadSafetyMode >
friend class FWriteLockedDelegateAllocation
friend

◆ TBaseFunctorDelegateInstance

template<typename ThreadSafetyMode >
template<typename , typename , typename , typename... >
friend class TBaseFunctorDelegateInstance
friend

◆ TBaseRawMethodDelegateInstance

template<typename ThreadSafetyMode >
template<bool , class , typename , typename , typename... >
friend class TBaseRawMethodDelegateInstance
friend

◆ TBaseSPLambdaDelegateInstance

template<typename ThreadSafetyMode >
template<ESPMode , typename , typename , typename , typename... >
friend class TBaseSPLambdaDelegateInstance
friend

◆ TBaseSPMethodDelegateInstance

template<typename ThreadSafetyMode >
template<bool , class , ESPMode , typename , typename , typename... >
friend class TBaseSPMethodDelegateInstance
friend

◆ TBaseStaticDelegateInstance

template<typename ThreadSafetyMode >
template<typename , typename , typename... >
friend class TBaseStaticDelegateInstance
friend

◆ TBaseUFunctionDelegateInstance

template<typename ThreadSafetyMode >
template<class , typename , typename , typename... >
friend class TBaseUFunctionDelegateInstance
friend

◆ TBaseUObjectMethodDelegateInstance

template<typename ThreadSafetyMode >
template<bool , class , typename , typename , typename... >
friend class TBaseUObjectMethodDelegateInstance
friend

◆ TDelegateBase

template<typename ThreadSafetyMode >
template<typename >
friend class TDelegateBase
friend

◆ TMulticastDelegateBase

template<typename ThreadSafetyMode >
template<typename >
friend class TMulticastDelegateBase
friend

◆ TWeakBaseFunctorDelegateInstance

template<typename ThreadSafetyMode >
template<typename , typename , typename , typename... >
friend class TWeakBaseFunctorDelegateInstance
friend

◆ TWriteLockedDelegateAllocation< ThreadSafetyMode >

template<typename ThreadSafetyMode >
friend struct TWriteLockedDelegateAllocation< ThreadSafetyMode >
friend

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