![]() |
TrinityCore
|
#include <MPSCQueue.h>
Public Member Functions | |
| MPSCQueueIntrusive () | |
| ~MPSCQueueIntrusive () | |
| void | Enqueue (T *input) noexcept |
| bool | Dequeue (T *&result) noexcept |
Private Types | |
| using | Atomic = std::atomic< T * > |
Private Member Functions | |
| MPSCQueueIntrusive (MPSCQueueIntrusive const &)=delete | |
| MPSCQueueIntrusive & | operator= (MPSCQueueIntrusive const &)=delete |
Private Attributes | |
| std::array< std::byte, sizeof(T)> | _dummy |
| T * | _dummyPtr |
| Atomic | _head |
| Atomic | _tail |
Definition at line 94 of file MPSCQueue.h.
|
private |
Definition at line 96 of file MPSCQueue.h.
|
inline |
Definition at line 99 of file MPSCQueue.h.
References Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_dummyPtr.
|
inline |
Definition at line 107 of file MPSCQueue.h.
References Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_dummyPtr, and Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Dequeue().
|
privatedelete |
|
inlinenoexcept |
Definition at line 124 of file MPSCQueue.h.
References Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_dummyPtr, Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_head, Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_tail, and Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Enqueue().
Referenced by Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::~MPSCQueueIntrusive().
|
inlinenoexcept |
Definition at line 117 of file MPSCQueue.h.
References Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::_head.
Referenced by Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Dequeue().
|
privatedelete |
|
private |
Definition at line 161 of file MPSCQueue.h.
|
private |
|
private |
Definition at line 163 of file MPSCQueue.h.
Referenced by Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Dequeue(), and Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Enqueue().
|
private |
Definition at line 164 of file MPSCQueue.h.
Referenced by Trinity::Impl::MPSCQueueIntrusive< T, IntrusiveLink >::Dequeue().