| 363 | alignas(CACHE_LINE_SIZE) std::atomic<T> elements_[size_]; |
| 364 | |
| 365 | T do_pop(unsigned tail) noexcept { |
| 366 | std::atomic<T>& q_element = details::map<SHUFFLE_BITS>(elements_, tail % size_); |
| 367 | return Base::template do_pop_atomic<T, NIL>(q_element); |
| 368 | } |
| 369 | |
| 370 | void do_push(T element, unsigned head) noexcept { |
| 371 | std::atomic<T>& q_element = details::map<SHUFFLE_BITS>(elements_, head % size_); |