Ark Server API (ASA) - Wiki
|
#include <MulticastDelegateBase.h>
Public Member Functions | |
void | Clear () |
bool | IsBound () const |
bool | IsBoundToObject (void const *InUserObject) const |
int32 | RemoveAll (const void *InUserObject) |
SIZE_T | GetAllocatedSize () const |
Protected Types | |
using | InvocationListType = TArray<TDelegateBase<UserPolicy>, FMulticastInvocationListAllocatorType> |
Protected Member Functions | |
TMulticastDelegateBase () | |
template<typename DelegateInstanceInterfaceType , typename DelegateType > | |
void | CopyFrom (const TMulticastDelegateBase &Other) |
template<typename DelegateInstanceInterfaceType , typename DelegateBaseType , typename... ParamTypes> | |
void | Broadcast (ParamTypes... Params) const |
FDelegateHandle | AddDelegateInstance (TDelegateBase< UserPolicy > &&NewDelegateBaseRef) |
bool | RemoveDelegateInstance (FDelegateHandle Handle) |
Static Protected Member Functions | |
template<typename DelegateType > | |
static FORCEINLINE auto * | GetDelegateInstanceProtectedHelper (const DelegateType &Base) |
Private Member Functions | |
void | CompactInvocationList (bool CheckThreshold=false) |
InvocationListType & | GetInvocationList () |
const InvocationListType & | GetInvocationList () const |
void | LockInvocationList () const |
void | UnlockInvocationList () const |
int32 | GetInvocationListLockCount () const |
UE_DELEGATES_MT_ACCESS_DETECTOR (AccessDetector) | |
Private Attributes | |
InvocationListType | InvocationList |
int32 | CompactionThreshold |
int32 | InvocationListLockCount |
Abstract base class for multicast delegates.
Definition at line 24 of file MulticastDelegateBase.h.
|
protected |
Definition at line 27 of file MulticastDelegateBase.h.
|
inlineprotected |
Hidden default constructor.
Definition at line 160 of file MulticastDelegateBase.h.
|
inlineprotected |
Adds the given delegate instance to the invocation list.
NewDelegateBaseRef | The delegate instance to add. |
Definition at line 223 of file MulticastDelegateBase.h.
|
inlineprotected |
Definition at line 187 of file MulticastDelegateBase.h.
|
inline |
Removes all functions from this delegate's invocation list.
Definition at line 31 of file MulticastDelegateBase.h.
|
inlineprivate |
Removes any expired or deleted functions from the invocation list.
Definition at line 280 of file MulticastDelegateBase.h.
|
inlineprotected |
Definition at line 167 of file MulticastDelegateBase.h.
|
inline |
Returns the amount of memory allocated by this delegate's invocation list and the delegates stored within it, not including sizeof(*this).
Definition at line 146 of file MulticastDelegateBase.h.
|
inlinestaticprotected |
Helper function for derived classes of TMulticastDelegateBase to get at the delegate instance.
Definition at line 269 of file MulticastDelegateBase.h.
|
inlineprivate |
Gets a read-only reference to the invocation list.
Definition at line 327 of file MulticastDelegateBase.h.
|
inlineprivate |
Definition at line 332 of file MulticastDelegateBase.h.
|
inlineprivate |
Returns the lock counter for the invocation list.
Definition at line 350 of file MulticastDelegateBase.h.
|
inline |
Checks to see if any functions are bound to this multi-cast delegate.
Definition at line 48 of file MulticastDelegateBase.h.
|
inline |
Checks to see if any functions are bound to the given user object.
Definition at line 67 of file MulticastDelegateBase.h.
|
inlineprivate |
Increments the lock counter for the invocation list.
Definition at line 338 of file MulticastDelegateBase.h.
|
inline |
Removes all functions from this multi-cast delegate's invocation list that are bound to the specified UserObject. Note that the order of the delegates may not be preserved!
InUserObject | The object to remove all delegates for. |
Definition at line 90 of file MulticastDelegateBase.h.
|
inlineprotected |
Removes a function from this multi-cast delegate's invocation list (performance is O(N)).
Handle | The handle of the delegate instance to remove. |
Definition at line 244 of file MulticastDelegateBase.h.
|
private |
|
inlineprivate |
Decrements the lock counter for the invocation list.
Definition at line 344 of file MulticastDelegateBase.h.
|
private |
Used to determine when a compaction should happen.
Definition at line 361 of file MulticastDelegateBase.h.
|
private |
Holds the collection of delegate instances to invoke.
Definition at line 358 of file MulticastDelegateBase.h.
|
mutableprivate |
Holds a lock counter for the invocation list.
Definition at line 364 of file MulticastDelegateBase.h.