TrinityCore
Loading...
Searching...
No Matches
ProducerConsumerQueue< T > Class Template Reference

#include <ProducerConsumerQueue.h>

Public Member Functions

 ProducerConsumerQueue ()
 
void Push (T const &value)
 
void Push (T &&value)
 
bool Empty () const
 
size_t Size () const
 
bool Pop (T &value)
 
void WaitAndPop (T &value)
 
void Cancel ()
 

Private Attributes

std::mutex _queueLock
 
std::queue< T > _queue
 
std::condition_variable _condition
 
std::atomic< bool > _shutdown
 

Detailed Description

template<typename T>
class ProducerConsumerQueue< T >

Definition at line 28 of file ProducerConsumerQueue.h.

Constructor & Destructor Documentation

◆ ProducerConsumerQueue()

template<typename T >
ProducerConsumerQueue< T >::ProducerConsumerQueue ( )
inline

Definition at line 38 of file ProducerConsumerQueue.h.

Member Function Documentation

◆ Cancel()

◆ Empty()

template<typename T >
bool ProducerConsumerQueue< T >::Empty ( ) const
inline

◆ Pop()

template<typename T >
bool ProducerConsumerQueue< T >::Pop ( T &  value)
inline

◆ Push() [1/2]

template<typename T >
void ProducerConsumerQueue< T >::Push ( T &&  value)
inline

◆ Push() [2/2]

template<typename T >
void ProducerConsumerQueue< T >::Push ( T const &  value)
inline

◆ Size()

template<typename T >
size_t ProducerConsumerQueue< T >::Size ( ) const
inline

◆ WaitAndPop()

Member Data Documentation

◆ _condition

template<typename T >
std::condition_variable ProducerConsumerQueue< T >::_condition
private

◆ _queue

◆ _queueLock

◆ _shutdown

template<typename T >
std::atomic<bool> ProducerConsumerQueue< T >::_shutdown
private

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