|
Foundation
|
Atomic, bounded multi-producer multi-consumer FIFO ring buffer with a fixed maximum size. More...
#include <Queue.hpp>
Classes | |
| struct | Data |
| class | Reader |
| class | Writer |
Public Member Functions | |
| MPMCQueue (size_t size, Allocator *alloc) | |
| Writer | CreateWriter () |
| Create a Writer for concurrent pushing. | |
| Reader | CreateReader () |
| Create a Reader for concurrent popping. | |
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. |
|
inline |
|
inline |
Create a Reader for concurrent popping.
|
inline |
Create a Writer for concurrent pushing.
|
private |