TrinityCore
Trinity::Impl::MPSCQueueNonIntrusive< T > Class Template Reference

#include <MPSCQueue.h>

Classes

struct  Node
 

Public Member Functions

 MPSCQueueNonIntrusive ()
 
 ~MPSCQueueNonIntrusive ()
 
void Enqueue (T *input)
 
bool Dequeue (T *&result)
 

Private Member Functions

 MPSCQueueNonIntrusive (MPSCQueueNonIntrusive const &)=delete
 
MPSCQueueNonIntrusiveoperator= (MPSCQueueNonIntrusive const &)=delete
 

Private Attributes

std::atomic< Node * > _head
 
std::atomic< Node * > _tail
 

Detailed Description

template<typename T>
class Trinity::Impl::MPSCQueueNonIntrusive< T >

Definition at line 32 of file MPSCQueue.h.

Constructor & Destructor Documentation

◆ MPSCQueueNonIntrusive() [1/2]

template<typename T >
Trinity::Impl::MPSCQueueNonIntrusive< T >::MPSCQueueNonIntrusive ( )
inline

Definition at line 35 of file MPSCQueue.h.

◆ ~MPSCQueueNonIntrusive()

template<typename T >
Trinity::Impl::MPSCQueueNonIntrusive< T >::~MPSCQueueNonIntrusive ( )
inline

Definition at line 41 of file MPSCQueue.h.

+ Here is the call graph for this function:

◆ MPSCQueueNonIntrusive() [2/2]

template<typename T >
Trinity::Impl::MPSCQueueNonIntrusive< T >::MPSCQueueNonIntrusive ( MPSCQueueNonIntrusive< T > const &  )
privatedelete

Member Function Documentation

◆ Dequeue()

template<typename T >
bool Trinity::Impl::MPSCQueueNonIntrusive< T >::Dequeue ( T *&  result)
inline

Definition at line 58 of file MPSCQueue.h.

+ Here is the caller graph for this function:

◆ Enqueue()

template<typename T >
void Trinity::Impl::MPSCQueueNonIntrusive< T >::Enqueue ( T *  input)
inline

Definition at line 51 of file MPSCQueue.h.

◆ operator=()

template<typename T >
MPSCQueueNonIntrusive & Trinity::Impl::MPSCQueueNonIntrusive< T >::operator= ( MPSCQueueNonIntrusive< T > const &  )
privatedelete

Member Data Documentation

◆ _head

template<typename T >
std::atomic<Node*> Trinity::Impl::MPSCQueueNonIntrusive< T >::_head
private

Definition at line 84 of file MPSCQueue.h.

◆ _tail

template<typename T >
std::atomic<Node*> Trinity::Impl::MPSCQueueNonIntrusive< T >::_tail
private

Definition at line 85 of file MPSCQueue.h.


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