UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::TConsumeAllMpmcQueue< T, AllocatorType > Class Template Referencefinal

#include <ConsumeAllMpmcQueue.h>

Public Member Functions

 UE_NONCOPYABLE (TConsumeAllMpmcQueue)
 
 TConsumeAllMpmcQueue ()=default
 
 ~TConsumeAllMpmcQueue ()
 
template<typename... ArgTypes>
EConsumeAllMpmcQueueResult ProduceItem (ArgTypes &&... Args)
 
template<typename F >
EConsumeAllMpmcQueueResult ConsumeAllLifo (const F &Consumer)
 
template<typename F >
EConsumeAllMpmcQueueResult ConsumeAllFifo (const F &Consumer)
 
bool IsEmpty () const
 

Detailed Description

template<typename T, typename AllocatorType = FMemory>
class UE::TConsumeAllMpmcQueue< T, AllocatorType >

Multi-producer/multi-consumer unbounded concurrent queue (implemented as a Stack) that is atomically consumed and is reset to its default empty state. Validated and run though atomic race detector.

Constructor & Destructor Documentation

◆ TConsumeAllMpmcQueue()

template<typename T , typename AllocatorType = FMemory>
UE::TConsumeAllMpmcQueue< T, AllocatorType >::TConsumeAllMpmcQueue ( )
default

◆ ~TConsumeAllMpmcQueue()

template<typename T , typename AllocatorType = FMemory>
UE::TConsumeAllMpmcQueue< T, AllocatorType >::~TConsumeAllMpmcQueue ( )
inline

Member Function Documentation

◆ ConsumeAllFifo()

template<typename T , typename AllocatorType = FMemory>
template<typename F >
EConsumeAllMpmcQueueResult UE::TConsumeAllMpmcQueue< T, AllocatorType >::ConsumeAllFifo ( const F Consumer)
inline

◆ ConsumeAllLifo()

template<typename T , typename AllocatorType = FMemory>
template<typename F >
EConsumeAllMpmcQueueResult UE::TConsumeAllMpmcQueue< T, AllocatorType >::ConsumeAllLifo ( const F Consumer)
inline

◆ IsEmpty()

template<typename T , typename AllocatorType = FMemory>
bool UE::TConsumeAllMpmcQueue< T, AllocatorType >::IsEmpty ( ) const
inline

◆ ProduceItem()

template<typename T , typename AllocatorType = FMemory>
template<typename... ArgTypes>
EConsumeAllMpmcQueueResult UE::TConsumeAllMpmcQueue< T, AllocatorType >::ProduceItem ( ArgTypes &&...  Args)
inline

◆ UE_NONCOPYABLE()

template<typename T , typename AllocatorType = FMemory>
UE::TConsumeAllMpmcQueue< T, AllocatorType >::UE_NONCOPYABLE ( TConsumeAllMpmcQueue< T, AllocatorType >  )

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