17#ifndef TOOLBOX_UTIL_RINGBUFFER_HPP
18#define TOOLBOX_UTIL_RINGBUFFER_HPP
25inline namespace util {
27template <
typename ValueT>
32 , mask_{capacity_ - 1}
69 auto&
ref = buf_[wpos_ & mask_];
76 template <
typename FnT>
79 const auto&
ref = buf_[rpos_ & mask_];
83 template <
typename FnT>
86 auto&
ref = buf_[wpos_ & mask_];
97 std::size_t capacity_;
102 std::unique_ptr<ValueT[]> buf_;