![]() |
Ark Server API (ASA) - Wiki
|
#include <MulticastDelegateBase.h>
Inheritance diagram for TMulticastDelegateBase< UserPolicy >:
Collaboration diagram for TMulticastDelegateBase< UserPolicy >: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.