#include <mpmc_bounded_q.h>
Classes | |
struct | cell_t |
Public Types | |
using | item_type = T |
Public Member Functions | |
size_t | approx_size () |
bool | dequeue (T &data) |
bool | enqueue (T &&data) |
mpmc_bounded_queue (size_t buffer_size) | |
~mpmc_bounded_queue () | |
Private Types | |
typedef char | cacheline_pad_t[cacheline_size] |
Private Member Functions | |
mpmc_bounded_queue (mpmc_bounded_queue const &)=delete | |
void | operator= (mpmc_bounded_queue const &)=delete |
Private Attributes | |
cell_t *const | buffer_ |
size_t const | buffer_mask_ |
std::atomic< size_t > | dequeue_pos_ |
std::atomic< size_t > | enqueue_pos_ |
size_t const | max_size_ |
cacheline_pad_t | pad0_ |
cacheline_pad_t | pad1_ |
cacheline_pad_t | pad2_ |
cacheline_pad_t | pad3_ |
Static Private Attributes | |
static size_t const | cacheline_size = 64 |
Definition at line 57 of file mpmc_bounded_q.h.
|
private |
Definition at line 156 of file mpmc_bounded_q.h.
using spdlog::details::mpmc_bounded_queue< T >::item_type = T |
Definition at line 61 of file mpmc_bounded_q.h.
|
inline |
Definition at line 62 of file mpmc_bounded_q.h.
|
inline |
Definition at line 77 of file mpmc_bounded_q.h.
|
privatedelete |
|
inline |
Definition at line 136 of file mpmc_bounded_q.h.
|
inline |
Definition at line 111 of file mpmc_bounded_q.h.
|
inline |
Definition at line 83 of file mpmc_bounded_q.h.
|
privatedelete |
|
private |
Definition at line 159 of file mpmc_bounded_q.h.
|
private |
Definition at line 160 of file mpmc_bounded_q.h.
|
staticprivate |
Definition at line 155 of file mpmc_bounded_q.h.
|
private |
Definition at line 164 of file mpmc_bounded_q.h.
|
private |
Definition at line 162 of file mpmc_bounded_q.h.
|
private |
Definition at line 153 of file mpmc_bounded_q.h.
|
private |
Definition at line 158 of file mpmc_bounded_q.h.
|
private |
Definition at line 161 of file mpmc_bounded_q.h.
|
private |
Definition at line 163 of file mpmc_bounded_q.h.
|
private |
Definition at line 165 of file mpmc_bounded_q.h.