疑似可変長リングバッファです。配列の最初と最後の要素を疑似的に繋げ、リング上にした FIFO バッファです。
template <typename T, size_t Capacity>
class RingBuffer
{
T data[Capacity];
size_t head;
size_t tail;
size_t size;
};
構築
テンプレート引数に要素の型、最大要素数を指定します。最大要素数と、サイズは意味が異なるので注意してください。
template <typename T, size_t Capacity>
class RingBuffer
{
T data[Capacity];
size_t head;
size_t tail;
size_t size;
};
構築
リングバッファ
Definition RingBuffer.hpp:22
要素の追加、削除
void push(const_reference value)
バッファの先頭に要素を追加
Definition RingBuffer.hpp:125
value_type pop()
バッファの末尾を取得し要素を削除
Definition RingBuffer.hpp:157
イテレーション
for (auto&& it : ring)
{
it = 100;
}
使用可能なイテレーターは iterator
const_iterator
reverse_iterator
const_reverse_iterator
です。