57 if (element ==
nullptr)
60 uint8_t current_tail =
tail_.load(std::memory_order_relaxed);
64 uint8_t head_before =
head_.load(std::memory_order_acquire);
66 if (next_tail == head_before) {
72 was_empty = (current_tail == head_before);
73 old_tail = current_tail;
75 buffer_[current_tail] = element;
76 tail_.store(next_tail, std::memory_order_release);