|
Foundation
|
Atomic, bounded multi-producer multi-consumer FIFO ring buffer with a fixed maximum size. More...
#include <AtomicQueue.hpp>
Classes | |
| struct | Data |
Public Member Functions | |
| MPMCQueue (size_t size, Allocator *alloc) | |
| template<typename U > | |
| bool | Push (U &&data) |
| bool | Pop (T &out) |
Private Attributes | |
| const size_t | mModulo |
| const size_t | mShift |
| Vector< Data > | mBuffer |
| Atomic< size_t > | mRead {} |
| Atomic< size_t > | mWrite {} |
| size_t | mWriteCached {} |
Atomic, bounded multi-producer multi-consumer FIFO ring buffer with a fixed maximum size.
| T | Data type, must be default constructible. |
|
inline |
|
inline |
|
private |