Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::circular_buffer< T, MAX_SIZE_ > Class Template Reference

#include <circular_buffer.h>

Public Member Functions

 ETL_STATIC_ASSERT ((MAX_SIZE_ > 0U), "Zero capacity etl::circular_buffer is not valid")
 
 circular_buffer ()
 Constructor.
 
template<typename TIterator >
 circular_buffer (TIterator first, const TIterator &last, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
 
 circular_buffer (const circular_buffer &other)
 Copy Constructor.
 
circular_bufferoperator= (const circular_buffer &other)
 Assignment operator.
 
 ~circular_buffer ()
 Destructor.
 
void repair ()
 Fix the internal pointers after a low level memory copy.
 
- Public Member Functions inherited from etl::icircular_buffer< T >
iterator begin ()
 Gets an iterator to the start of the buffer.
 
const_iterator begin () const
 Gets a const iterator to the start of the buffer.
 
const_iterator cbegin () const
 Gets a const iterator to the start of the buffer.
 
iterator end ()
 Gets an iterator to the end of the buffer.
 
const_iterator end () const
 Gets a const iterator to the end of the buffer.
 
const_iterator cend () const
 Gets a const iterator to the end of the buffer.
 
reverse_iterator rbegin ()
 Gets a reverse iterator to the start of the buffer.
 
const_reverse_iterator rbegin () const
 Gets a const reverse iterator to the start of the buffer.
 
const_reverse_iterator crbegin () const
 Gets a const reverse iterator to the start of the buffer.
 
reverse_iterator rend ()
 Gets a reverse iterator to the end of the buffer.
 
const_reverse_iterator rend () const
 Gets a const reverse iterator to the end of the buffer.
 
const_reverse_iterator crend () const
 Gets a const reverse iterator to the end of the buffer.
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
reference operator[] (size_t index)
 Get a reference to the item.
 
const_reference operator[] (size_t index) const
 
void push (const_reference item)
 
template<typename TIterator >
void push (TIterator first, const TIterator &last)
 Push a buffer from an iterator range.
 
void pop ()
 pop
 
void pop (size_type n)
 pop(n)
 
void clear ()
 Clears the buffer.
 
void fill (const T &value)
 Fills the buffer.
 
- Public Member Functions inherited from etl::circular_buffer_base
size_type size () const
 
bool empty () const
 
bool full () const
 
size_type available () const
 
size_type max_size () const
 
size_type capacity () const
 

Static Public Attributes

static ETL_CONSTANT icircular_buffer< T >::size_type MAX_SIZE = typename icircular_buffer<T>::size_type(MAX_SIZE_)
 

Additional Inherited Members

- Public Types inherited from etl::icircular_buffer< T >
typedef T value_type
 
typedef Treference
 
typedef const Tconst_reference
 
typedef Tpointer
 
typedef const Tconst_pointer
 
typedef etl::iterator_traits< pointer >::difference_type difference_type
 
typedef etl::reverse_iterator< iteratorreverse_iterator
 
typedef etl::reverse_iterator< const_iteratorconst_reverse_iterator
 
- Public Types inherited from etl::circular_buffer_base
typedef size_t size_type
 The type used for determining the size of queue.
 
- Protected Member Functions inherited from etl::icircular_buffer< T >
 icircular_buffer (pointer pbuffer_, size_type max_length)
 Protected constructor.
 
void repair_buffer (T *pbuffer_)
 Fix the internal pointers after a low level memory copy.
 
 ~icircular_buffer ()
 Destructor.
 
- Protected Member Functions inherited from etl::circular_buffer_base
 circular_buffer_base (size_type buffer_size_)
 
void increment_in ()
 
void increment_out ()
 
- Static Protected Member Functions inherited from etl::icircular_buffer< T >
template<typename TIterator1 , typename TIterator2 >
static difference_type distance (const TIterator1 &range_begin, const TIterator2 &range_end)
 Measures the distance between two iterators.
 
template<typename TIterator >
static difference_type distance (const TIterator &other)
 Measures the distance from the _begin iterator to the specified iterator.
 
- Protected Attributes inherited from etl::icircular_buffer< T >
pointer pbuffer
 
- Protected Attributes inherited from etl::circular_buffer_base
size_type buffer_size
 
size_type in
 Index to the next write.
 
size_type out
 Index to the next read.
 
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.
 

Detailed Description

template<typename T, size_t MAX_SIZE_>
class etl::circular_buffer< T, MAX_SIZE_ >

A fixed capacity circular buffer. Internal buffer.

Constructor & Destructor Documentation

◆ circular_buffer()

template<typename T , size_t MAX_SIZE_>
template<typename TIterator >
etl::circular_buffer< T, MAX_SIZE_ >::circular_buffer ( TIterator  first,
const TIterator last,
typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type  = 0 
)
inline

Constructor. Constructs a buffer from an iterator range.


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