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_;