scc  2024.06
SystemC components library
util::ring_buffer< T > Class Template Reference

Circular buffer. More...

#include <ring_buffer.h>

Classes

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

Detailed Description

template<class T>
class util::ring_buffer< T >

Circular buffer.

Definition at line 41 of file ring_buffer.h.


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