54class lock_free_spsc_ring_buffer: util::NonCopyable
60 lock_free_spsc_ring_buffer(
size_t capacity);
61 ~lock_free_spsc_ring_buffer();
63 bool try_push(
const value_type& x);
64 bool try_push(value_type&& x);
65 template <
typename... Args>
bool try_emplace(Args&&... args);
66 bool try_pop(value_type& x);
73 size_t next_index(
size_t index)
const;
75 alignas(LASS_LOCK_FREE_ALIGNMENT) std::atomic<size_t> head_;
76 alignas(LASS_LOCK_FREE_ALIGNMENT) std::atomic<size_t> tail_;
77 std::vector<value_type> ring_;
lass extensions to the standard library
Library for Assembled Shared Sources.