20 : max_items_(max_items + 1)
28 v_[tail_] = std::move(item);
29 tail_ = (tail_ + 1) % max_items_;
33 head_ = (head_ + 1) % max_items_;
42 popped_item = std::move(v_[head_]);
43 head_ = (head_ + 1) % max_items_;
48 return tail_ == head_;
54 return ((tail_ + 1) % max_items_) == head_;
59 return overrun_counter_;
64 typename std::vector<T>::size_type head_ = 0;
65 typename std::vector<T>::size_type tail_ = 0;
69 size_t overrun_counter_ = 0;
void pop_front(T &popped_item)
size_t overrun_counter() const
circular_q(size_t max_items)