11#ifndef USE_EVENT_POOLING
12 #define USE_EVENT_POOLING 1
30 virtual bool Create(
bool bIsManualReset =
false)
70template<EEventMode PoolType>
136 if (
Event ==
nullptr)
145 Event->AdvanceStats();
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
virtual bool Wait(uint32 WaitTime, const bool bIgnoreThreadIdleStats=false)=0
virtual bool Create(bool bIsManualReset=false)=0
virtual bool IsManualReset()=0
Definition EventPool.h:16
virtual void Trigger()
Definition EventPool.h:42
virtual bool IsManualReset()
Definition EventPool.h:37
virtual void Reset()
Definition EventPool.h:47
virtual bool Wait(uint32 WaitTime, const bool bIgnoreThreadIdleStats=false)
Definition EventPool.h:52
virtual bool Create(bool bIsManualReset=false)
Definition EventPool.h:30
~FSafeRecyclableEvent()
Definition EventPool.h:25
FSafeRecyclableEvent(FEvent *InInnerEvent)
Definition EventPool.h:20
FEvent * InnerEvent
Definition EventPool.h:18
Definition EventPool.h:72
void EmptyPool()
Definition EventPool.h:112
void ReturnToPool(FEvent *Event)
Definition EventPool.h:98
FEvent * GetRawEvent()
Definition EventPool.h:127
~TEventPool()
Definition EventPool.h:75
void ReturnRawEvent(FEvent *Event)
Definition EventPool.h:154
FEvent * GetEventFromPool()
Definition EventPool.h:87
void Push(T *NewItem)
Definition LockFreeList.h:849
T * Pop()
Definition LockFreeList.h:858
Definition LockFreeList.h:904