18 inline namespace _V1 {
33 using iterator =
typename std::deque<T>::iterator;
56 std::size_t
size()
const {
return MValues.size(); }
58 std::size_t
capacity()
const {
return MCapacity; }
60 bool empty()
const {
return MValues.empty(); };
62 bool full()
const {
return MValues.size() == MCapacity; };
65 if (MValues.size() == MCapacity)
67 MValues.push_back(std::move(Val));
71 if (MValues.size() == MCapacity)
73 MValues.push_front(std::move(Val));
83 MValues.erase(First, Last);
86 void clear() { MValues.clear(); }
93 std::deque<T> MValues;
94 const std::size_t MCapacity;
const_reference operator[](std::size_t Idx) const
void erase(const_iterator First, const_iterator Last)
typename std::deque< T >::const_iterator const_iterator
std::size_t capacity() const
reference operator[](std::size_t Idx)
const_reference back() const
typename std::deque< T >::iterator iterator
const_iterator begin() const
const T & const_reference
CircularBuffer(std::size_t Capacity)
const_reference front() const
void erase(const_iterator Pos)
const_iterator end() const