Template Class RingBuffer

Class Documentation

template<typename T, size_t N>
class uitsl::RingBuffer

Public Functions

size_t GetSize() const
constexpr size_t GetCapacity() const
size_t GetAvailableCapacity() const
bool IsEmpty() const
bool IsFull() const
void DoPushHead()
bool PushHead()
bool PushHead(const T &t)
template<typename P>
bool PushHead(P &&p)
void DoPopHead(const size_t num_requested = 1)
size_t PopHead(const size_t num_requested = 1)
void DoPopTail(const size_t num_requested = 1)
size_t PopTail(const size_t num_requested = 1)
void Fill(const T &t = T{})
const T &Get(const size_t i) const
T &Get(const size_t i)
T &GetHead()
const T &GetHead() const
T &GetTail()
const T &GetTail() const
void Clear()
auto &GetBuffer()
bool IsHead(const size_t pos) const
bool IsTail(const size_t pos) const