1 #ifndef HRK_RING_BUFFER_HPP
2 #define HRK_RING_BUFFER_HPP
28 return ring_buffer_.size();
40 return ring_buffer_.empty();
54 const T* last_p = data +
size;
55 ring_buffer_.insert(ring_buffer_.end(), data, last_p);
70 size_t n = std::min(size, ring_buffer_.size());
71 std::copy(ring_buffer_.begin(), ring_buffer_.begin() + n, data);
72 ring_buffer_.erase(ring_buffer_.begin(), ring_buffer_.begin() + n);
84 ring_buffer_.push_front(ch);
99 std::deque<T> ring_buffer_;
bool empty(void) const
バッファが空か
Definition: Ring_buffer.hpp:38
リングバッファ
Definition: Ring_buffer.hpp:17
size_t push(const T *data, size_t size)
データの格納
Definition: Ring_buffer.hpp:52
void ungetc(const T ch)
データの書き戻し
Definition: Ring_buffer.hpp:82
size_t size(void) const
バッファサイズの取得
Definition: Ring_buffer.hpp:26
size_t pop(T *data, size_t size)
データの取り出し
Definition: Ring_buffer.hpp:68
void clear(void)
格納データのクリア
Definition: Ring_buffer.hpp:89