Zrythm
a highly automated and intuitive digital audio workstation
|
Multiple Producer Multiple Consumer lock-free queue. More...
#include <cstddef>
#include <atomic>
Go to the source code of this file.
Data Structures | |
struct | cell_t |
struct | MPMCQueue |
Multiple Producer Multiple Consumer lock-free queue. More... | |
Macros | |
#define | MPMC_USE_STD_ATOMIC 1 |
#define | MPMC_QUEUE_TYPE std::atomic<size_t> |
Functions | |
MPMCQueue * | mpmc_queue_new (void) |
NONNULL void | mpmc_queue_reserve (MPMCQueue *self, size_t buffer_size) |
NONNULL void | mpmc_queue_free (MPMCQueue *self) |
NONNULL void | mpmc_queue_clear (MPMCQueue *self) |
HOT NONNULL int | mpmc_queue_push_back (MPMCQueue *self, void *const data) |
HOT NONNULL int | mpmc_queue_dequeue (MPMCQueue *self, void **data) |
Multiple Producer Multiple Consumer lock-free queue.
Definition in file mpmc_queue.h.
#define MPMC_QUEUE_TYPE std::atomic<size_t> |
Definition at line 44 of file mpmc_queue.h.
#define MPMC_USE_STD_ATOMIC 1 |
Definition at line 40 of file mpmc_queue.h.