![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include <atomic>
#include <memory>
Go to the source code of this file.
Classes | |
class | Acore::Impl::MPSCQueueNonIntrusive< T > |
C++ implementation of Dmitry Vyukov's lock-free MPSC queue (Non-Intrusive). More... | |
struct | Acore::Impl::MPSCQueueNonIntrusive< T >::Node |
A structure representing a node in the queue. More... | |
class | Acore::Impl::MPSCQueueIntrusive< T, IntrusiveLink > |
C++ implementation of Dmitry Vyukov's lock-free MPSC queue (Intrusive). More... | |
Namespaces | |
namespace | Acore |
namespace | Acore::Impl |
Typedefs | |
template<typename T , std::atomic< T * > T::* IntrusiveLink = nullptr> | |
using | MPSCQueue = std::conditional_t< IntrusiveLink !=nullptr, Acore::Impl::MPSCQueueIntrusive< T, IntrusiveLink >, Acore::Impl::MPSCQueueNonIntrusive< T > > |
Conditional type alias for MPSCQueue. | |
using MPSCQueue = std::conditional_t<IntrusiveLink != nullptr, Acore::Impl::MPSCQueueIntrusive<T, IntrusiveLink>, Acore::Impl::MPSCQueueNonIntrusive<T> > |
Conditional type alias for MPSCQueue.
This alias provides the appropriate type of MPSCQueue based on whether the queue is intrusive or non-intrusive.
T | The type of data that is being enqueued in the queue. |
IntrusiveLink | If provided, the queue will be intrusive, otherwise, it will be non-intrusive. |