33 static constexpr auto index_wrapped(
size_t index)
noexcept ->
size_t {
return index & (N - 1); };
34 std::array<T, N> buf = {};
35 alignas(std::hardware_destructive_interference_size) std::atomic_size_t read_committed = 0;
36 alignas(std::hardware_destructive_interference_size) std::atomic_size_t read_claimed = 0;
37 alignas(std::hardware_destructive_interference_size) std::atomic_size_t write_index = 0;