Embedded Template Library 1.0
|
#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_buffer & | operator= (const circular_buffer &other) |
Assignment operator. | |
~circular_buffer () | |
Destructor. | |
void | repair () |
Fix the internal pointers after a low level memory copy. | |
![]() | |
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. | |
![]() | |
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 | |
![]() | |
typedef T | value_type |
typedef T & | reference |
typedef const T & | const_reference |
typedef T * | pointer |
typedef const T * | const_pointer |
typedef etl::iterator_traits< pointer >::difference_type | difference_type |
typedef etl::reverse_iterator< iterator > | reverse_iterator |
typedef etl::reverse_iterator< const_iterator > | const_reverse_iterator |
![]() | |
typedef size_t | size_type |
The type used for determining the size of queue. | |
![]() | |
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. | |
![]() | |
circular_buffer_base (size_type buffer_size_) | |
void | increment_in () |
void | increment_out () |
![]() | |
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. | |
![]() | |
pointer | pbuffer |
![]() | |
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. | |
A fixed capacity circular buffer. Internal buffer.
|
inline |
Constructor. Constructs a buffer from an iterator range.