MLIB
Loading...
Searching...
No Matches
mlib::ring_buffer< T > Class Template Reference

Circular buffer. More...

#include <ringbuf.h>

Data Structures

class  iterator_type
 Iterator through the circular buffer. More...
 

Public Types

typedef iterator_type< false > iterator
 
typedef iterator_type< true > const_iterator
 

Public Member Functions

 ring_buffer (size_t size)
 Constructor.
 
 ring_buffer ()
 Default constructor.
 
 ring_buffer (const ring_buffer &other)
 Copy constructor.
 
 ring_buffer (std::initializer_list< T > il)
 Initializer list constructor.
 
ring_bufferoperator= (const ring_buffer &rhs)
 Assignment operator.
 
bool operator== (const ring_buffer< T > &other) const
 Equality operator.
 
bool operator!= (const ring_buffer< T > &other) const
 Inequality operator.
 
 operator std::vector< T > () const
 Vector conversion operator.
 
void push_back (const T &item)
 Inserts new element in buffer.
 
iterator begin ()
 Return an iterator pointing to first (oldest) element in buffer.
 
const_iterator begin () const
 Return a const iterator pointing to first (oldest) element in buffer.
 
const_iterator cbegin ()
 Return a const iterator pointing to first (oldest) element in buffer.
 
iterator end ()
 Return an iterator pointing past the last (newest) element in buffer.
 
const_iterator end () const
 Return a const iterator pointing past the last (newest) element in buffer.
 
const_iterator cend ()
 Return an iterator pointing past the last (newest) element in buffer.
 
void pop_front ()
 Remove oldest element from buffer.
 
T & front ()
 Return a reference to first (oldest) element in buffer.
 
const T & front () const
 Return a reference to first (oldest) element in buffer.
 
T & back ()
 Return reference to last (newest) element in buffer.
 
const T & back () const
 Return reference to last (newest) element in buffer.
 
void clear (void)
 Remove all elements from buffer.
 
bool empty (void)
 Return true if buffer is empty.
 
bool full (void) const
 Return true if buffer is full.
 
size_t capacity (void) const
 Return maximum buffer size.
 
void resize (size_t new_cap)
 (Re)allocate buffer with a different capacity
 
size_t size () const
 Return number of elements in buffer.
 

Detailed Description

template<class T>
class mlib::ring_buffer< T >

Circular buffer.


The documentation for this class was generated from the following file: