Files

30 lines
756 B
C++

// Задача 03 — кольцевой буфер. Заполни реализации.
#include <cstddef>
class RingBuffer {
public:
explicit RingBuffer(size_t capacity) : cap_(capacity), data_(new int[capacity ? capacity : 1]), size_(0) {}
~RingBuffer() { delete[] data_; }
bool push(int v) {
(void)v;
return false; // TODO
}
bool pop(int& out) {
(void)out;
return false; // TODO
}
size_t size() const { return size_; }
size_t capacity() const { return cap_; }
bool empty() const { return size_ == 0; }
bool full() const { return size_ == cap_; }
private:
size_t cap_;
int* data_;
size_t size_;
// добавь head_/tail_ по необходимости
};