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;