Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes > Class Template Reference
+ Inheritance diagram for TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes >:
+ Collaboration diagram for TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes >:

Classes

class  TMethodPtrResolver
 

Public Member Functions

 TBaseDynamicDelegate ()
 
 TBaseDynamicDelegate (const TScriptDelegate< TWeakPtr > &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)
 
 TBaseDynamicDelegate ()
 
 TBaseDynamicDelegate (const TScriptDelegate< TWeakPtr > &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< TWeakPtr >
 TScriptDelegate ()
 
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
 
FORCEINLINE bool operator== (const TScriptDelegate &Other) const
 
FORCEINLINE bool operator!= (const TScriptDelegate &Other) const
 
void operator= (const TScriptDelegate &Other)
 
UObjectGetUObject ()
 
const UObjectGetUObject () const
 
UObjectGetUObjectEvenIfUnreachable ()
 
const UObjectGetUObjectEvenIfUnreachable () const
 
FName GetFunctionName () const
 
void ProcessDelegate (void *Parameters) const
 

Friends

uint32 GetTypeHash (const TBaseDynamicDelegate &Key)
 
uint32 GetTypeHash (const TBaseDynamicDelegate &Key)
 

Additional Inherited Members

- Protected Member Functions inherited from TScriptDelegate< TWeakPtr >
 UE_DELEGATES_MT_ACCESS_DETECTOR (AccessDetector)
 
- Protected Attributes inherited from TScriptDelegate< TWeakPtr >
TWeakPtr Object
 
FName FunctionName
 

Detailed Description

template<typename TWeakPtr, typename RetValType, typename... ParamTypes>
class TBaseDynamicDelegate< TWeakPtr, 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.

Definition at line 1002 of file DelegateSignatureImpl.inl.

Constructor & Destructor Documentation

◆ TBaseDynamicDelegate() [1/4]

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

Default constructor

Definition at line 1008 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicDelegate() [2/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes >::TBaseDynamicDelegate ( const TScriptDelegate< TWeakPtr > & 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

Definition at line 1015 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicDelegate() [3/4]

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

Default constructor

Definition at line 1008 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicDelegate() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes >::TBaseDynamicDelegate ( const TScriptDelegate< TWeakPtr > & 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

Definition at line 1015 of file DelegateSignatureImpl.inl.

Member Function Documentation

◆ __Internal_BindDynamic() [1/4]

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

Definition at line 1056 of file DelegateSignatureImpl.inl.

◆ __Internal_BindDynamic() [2/4]

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

Definition at line 1056 of file DelegateSignatureImpl.inl.

◆ __Internal_BindDynamic() [3/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicDelegate< TWeakPtr, 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.

Definition at line 1040 of file DelegateSignatureImpl.inl.

◆ __Internal_BindDynamic() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicDelegate< TWeakPtr, 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.

Definition at line 1040 of file DelegateSignatureImpl.inl.

Friends And Related Symbol Documentation

◆ GetTypeHash [1/2]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
uint32 GetTypeHash ( const TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes > & Key)
friend

Definition at line 1061 of file DelegateSignatureImpl.inl.

◆ GetTypeHash [2/2]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
uint32 GetTypeHash ( const TBaseDynamicDelegate< TWeakPtr, RetValType, ParamTypes > & Key)
friend

Definition at line 1061 of file DelegateSignatureImpl.inl.


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