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

Public Types

typedef TBaseDynamicDelegate< FWeakObjectPtr, RetValType, ParamTypes... > FDelegate
 
typedef TBaseDynamicDelegate< FWeakObjectPtr, RetValType, ParamTypes... > FDelegate
 
- Public Types inherited from TMulticastScriptDelegate< TWeakPtr >
typedef TArray< TScriptDelegate< TWeakPtr > > FInvocationList
 

Public Member Functions

 TBaseDynamicMulticastDelegate ()
 
 TBaseDynamicMulticastDelegate (const TMulticastScriptDelegate< TWeakPtr > &InMulticastScriptDelegate)
 
template<class UserClass >
bool __Internal_IsAlreadyBound (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName) const
 
template<class UserClass >
bool __Internal_IsAlreadyBound (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName) const
 
template<class UserClass >
void __Internal_AddDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddUniqueDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddUniqueDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_RemoveDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_RemoveDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
 TBaseDynamicMulticastDelegate ()
 
 TBaseDynamicMulticastDelegate (const TMulticastScriptDelegate< TWeakPtr > &InMulticastScriptDelegate)
 
template<class UserClass >
bool __Internal_IsAlreadyBound (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName) const
 
template<class UserClass >
bool __Internal_IsAlreadyBound (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName) const
 
template<class UserClass >
void __Internal_AddDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddUniqueDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_AddUniqueDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_RemoveDynamic (UserClass *InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
template<class UserClass >
void __Internal_RemoveDynamic (TObjectPtr< UserClass > InUserObject, typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr, FName InFunctionName)
 
- Public Member Functions inherited from TMulticastScriptDelegate< TWeakPtr >
 TMulticastScriptDelegate ()
 
bool IsBound () const
 
bool Contains (const TScriptDelegate< TWeakPtr > &InDelegate) const
 
bool Contains (const UObject *InObject, FName InFunctionName) const
 
void Add (const TScriptDelegate< TWeakPtr > &InDelegate)
 
void AddUnique (const TScriptDelegate< TWeakPtr > &InDelegate)
 
void Remove (const TScriptDelegate< TWeakPtr > &InDelegate)
 
void Remove (const UObject *InObject, FName InFunctionName)
 
void RemoveAll (const UObject *Object)
 
void Clear ()
 
FString ToString () const
 
void ProcessMulticastDelegate (void *Parameters) const
 
TArray< UObject * > GetAllObjects () const
 
TArray< UObject * > GetAllObjectsEvenIfUnreachable () const
 
SIZE_T GetAllocatedSize () const
 

Additional Inherited Members

- Protected Member Functions inherited from TMulticastScriptDelegate< TWeakPtr >
void AddInternal (const TScriptDelegate< TWeakPtr > &InDelegate)
 
void AddUniqueInternal (const TScriptDelegate< TWeakPtr > &InDelegate)
 
void RemoveInternal (const TScriptDelegate< TWeakPtr > &InDelegate) const
 
void RemoveInternal (const UObject *InObject, FName InFunctionName) const
 
void CompactInvocationList () const
 
 UE_DELEGATES_MT_ACCESS_DETECTOR (AccessDetector)
 
- Protected Attributes inherited from TMulticastScriptDelegate< TWeakPtr >
FInvocationList InvocationList
 

Detailed Description

template<typename TWeakPtr, typename RetValType, typename... ParamTypes>
class TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >

Dynamic multi-cast delegate template class (UObject-based, serializable). You'll use the various DECLARE_DYNAMIC_MULTICAST_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 1079 of file DelegateSignatureImpl.inl.

Member Typedef Documentation

◆ FDelegate [1/2]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
typedef TBaseDynamicDelegate<FWeakObjectPtr, RetValType, ParamTypes...> TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::FDelegate

The actual single-cast delegate class for this multi-cast delegate

Definition at line 1083 of file DelegateSignatureImpl.inl.

◆ FDelegate [2/2]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
typedef TBaseDynamicDelegate<FWeakObjectPtr, RetValType, ParamTypes...> TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::FDelegate

The actual single-cast delegate class for this multi-cast delegate

Definition at line 1083 of file DelegateSignatureImpl.inl.

Constructor & Destructor Documentation

◆ TBaseDynamicMulticastDelegate() [1/4]

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

Default constructor

Definition at line 1088 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicMulticastDelegate() [2/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::TBaseDynamicMulticastDelegate ( const TMulticastScriptDelegate< TWeakPtr > & InMulticastScriptDelegate)
inlineexplicit

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

Parameters
InScriptDelegateThe delegate to construct from by copying

Definition at line 1095 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicMulticastDelegate() [3/4]

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

Default constructor

Definition at line 1088 of file DelegateSignatureImpl.inl.

◆ TBaseDynamicMulticastDelegate() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::TBaseDynamicMulticastDelegate ( const TMulticastScriptDelegate< TWeakPtr > & InMulticastScriptDelegate)
inlineexplicit

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

Parameters
InScriptDelegateThe delegate to construct from by copying

Definition at line 1095 of file DelegateSignatureImpl.inl.

Member Function Documentation

◆ __Internal_AddDynamic() [1/4]

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

Definition at line 1148 of file DelegateSignatureImpl.inl.

◆ __Internal_AddDynamic() [2/4]

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

Definition at line 1148 of file DelegateSignatureImpl.inl.

◆ __Internal_AddDynamic() [3/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_AddDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Binds a UObject instance and a UObject method address to this multi-cast delegate.

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

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

Definition at line 1136 of file DelegateSignatureImpl.inl.

◆ __Internal_AddDynamic() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_AddDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Binds a UObject instance and a UObject method address to this multi-cast delegate.

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

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

Definition at line 1136 of file DelegateSignatureImpl.inl.

◆ __Internal_AddUniqueDynamic() [1/4]

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

Definition at line 1176 of file DelegateSignatureImpl.inl.

◆ __Internal_AddUniqueDynamic() [2/4]

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

Definition at line 1176 of file DelegateSignatureImpl.inl.

◆ __Internal_AddUniqueDynamic() [3/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_AddUniqueDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Binds a UObject instance and a UObject method address to this multi-cast delegate, but only if it hasn't been bound before.

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

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

Definition at line 1164 of file DelegateSignatureImpl.inl.

◆ __Internal_AddUniqueDynamic() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_AddUniqueDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Binds a UObject instance and a UObject method address to this multi-cast delegate, but only if it hasn't been bound before.

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

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

Definition at line 1164 of file DelegateSignatureImpl.inl.

◆ __Internal_IsAlreadyBound() [1/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
bool TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_IsAlreadyBound ( TObjectPtr< UserClass > InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName ) const
inline

Definition at line 1120 of file DelegateSignatureImpl.inl.

◆ __Internal_IsAlreadyBound() [2/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
bool TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_IsAlreadyBound ( TObjectPtr< UserClass > InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName ) const
inline

Definition at line 1120 of file DelegateSignatureImpl.inl.

◆ __Internal_IsAlreadyBound() [3/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
bool TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_IsAlreadyBound ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName ) const
inline

Tests if a UObject instance and a UObject method address pair are already bound to this multi-cast delegate.

Parameters
InUserObjectUObject instance
InMethodPtrMember function address pointer
InFunctionNameName of member function, without class name
Returns
True if the instance/method is already bound.

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

Definition at line 1111 of file DelegateSignatureImpl.inl.

◆ __Internal_IsAlreadyBound() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
bool TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_IsAlreadyBound ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName ) const
inline

Tests if a UObject instance and a UObject method address pair are already bound to this multi-cast delegate.

Parameters
InUserObjectUObject instance
InMethodPtrMember function address pointer
InFunctionNameName of member function, without class name
Returns
True if the instance/method is already bound.

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

Definition at line 1111 of file DelegateSignatureImpl.inl.

◆ __Internal_RemoveDynamic() [1/4]

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

Definition at line 1201 of file DelegateSignatureImpl.inl.

◆ __Internal_RemoveDynamic() [2/4]

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

Definition at line 1201 of file DelegateSignatureImpl.inl.

◆ __Internal_RemoveDynamic() [3/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_RemoveDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Unbinds a UObject instance and a UObject method address from this multi-cast delegate.

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

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

Definition at line 1192 of file DelegateSignatureImpl.inl.

◆ __Internal_RemoveDynamic() [4/4]

template<typename TWeakPtr , typename RetValType , typename... ParamTypes>
template<class UserClass >
void TBaseDynamicMulticastDelegate< TWeakPtr, RetValType, ParamTypes >::__Internal_RemoveDynamic ( UserClass * InUserObject,
typename FDelegate::template TMethodPtrResolver< UserClass >::FMethodPtr InMethodPtr,
FName InFunctionName )
inline

Unbinds a UObject instance and a UObject method address from this multi-cast delegate.

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

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

Definition at line 1192 of file DelegateSignatureImpl.inl.


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