Embedded Template Library 1.0
Loading...
Searching...
No Matches
deque

Classes

class  etl::deque_exception
class  etl::deque_full
class  etl::deque_empty
class  etl::deque_out_of_bounds
class  etl::deque_base
class  etl::ideque< T >
class  etl::deque< T, MAX_SIZE_ >

Functions

template<typename T>
bool etl::operator== (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)
 Template deduction guides.
template<typename T>
bool etl::operator!= (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)
template<typename T>
bool etl::operator< (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)
template<typename T>
bool etl::operator<= (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)
template<typename T>
bool etl::operator> (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)
template<typename T>
bool etl::operator>= (const etl::ideque< T > &lhs, const etl::ideque< T > &rhs)

Detailed Description

A double ended queue with the capacity defined at compile time.


Class Documentation

◆ etl::deque_exception

class etl::deque_exception

Exception base for deques

Public Member Functions

 deque_exception (string_type reason_, string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::exception
ETL_CONSTEXPR exception (string_type reason_, string_type, numeric_type line_)
 Constructor.
ETL_CONSTEXPR string_type what () const
ETL_CONSTEXPR string_type file_name () const
ETL_CONSTEXPR numeric_type line_number () const

Additional Inherited Members

Public Types inherited from etl::exception
typedef const char * string_type
typedef int numeric_type

◆ etl::deque_full

class etl::deque_full

Deque full exception.

Public Member Functions

 deque_full (string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::deque_exception
 deque_exception (string_type reason_, string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::exception
ETL_CONSTEXPR exception (string_type reason_, string_type, numeric_type line_)
 Constructor.
ETL_CONSTEXPR string_type what () const
ETL_CONSTEXPR string_type file_name () const
ETL_CONSTEXPR numeric_type line_number () const

Additional Inherited Members

Public Types inherited from etl::exception
typedef const char * string_type
typedef int numeric_type

◆ etl::deque_empty

class etl::deque_empty

Deque empty exception.

Public Member Functions

 deque_empty (string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::deque_exception
 deque_exception (string_type reason_, string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::exception
ETL_CONSTEXPR exception (string_type reason_, string_type, numeric_type line_)
 Constructor.
ETL_CONSTEXPR string_type what () const
ETL_CONSTEXPR string_type file_name () const
ETL_CONSTEXPR numeric_type line_number () const

Additional Inherited Members

Public Types inherited from etl::exception
typedef const char * string_type
typedef int numeric_type

◆ etl::deque_out_of_bounds

class etl::deque_out_of_bounds

Deque out of bounds exception.

Public Member Functions

 deque_out_of_bounds (string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::deque_exception
 deque_exception (string_type reason_, string_type file_name_, numeric_type line_number_)
Public Member Functions inherited from etl::exception
ETL_CONSTEXPR exception (string_type reason_, string_type, numeric_type line_)
 Constructor.
ETL_CONSTEXPR string_type what () const
ETL_CONSTEXPR string_type file_name () const
ETL_CONSTEXPR numeric_type line_number () const

Additional Inherited Members

Public Types inherited from etl::exception
typedef const char * string_type
typedef int numeric_type

◆ etl::deque_base

class etl::deque_base

The base class for all templated deque types.

Public Types

typedef size_t size_type

Public Member Functions

size_type size () const
bool empty () const
bool full () const
size_type max_size () const
size_type capacity () const
size_t available () const

Protected Member Functions

 deque_base (size_t max_size_, size_t buffer_size_)
 Constructor.
 ~deque_base ()
 Destructor.

Protected Attributes

size_type current_size
 The current number of elements in the deque.
const size_type CAPACITY
 The maximum number of elements in the deque.
const size_type Buffer_Size
 The number of elements in the buffer.
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.

Member Function Documentation

◆ available()

size_t etl::deque_base::available ( ) const
inline

Returns the remaining capacity.

Returns
The remaining capacity.

◆ capacity()

size_type etl::deque_base::capacity ( ) const
inline

Returns the maximum possible size of the deque.

Returns
The maximum size of the deque.

◆ empty()

bool etl::deque_base::empty ( ) const
inline

Checks the 'empty' state of the deque.

Returns
true if empty.

◆ full()

bool etl::deque_base::full ( ) const
inline

Checks the 'full' state of the deque.

Returns
true if full.

◆ max_size()

size_type etl::deque_base::max_size ( ) const
inline

Returns the maximum possible size of the deque.

Returns
The maximum size of the deque.

◆ size()

size_type etl::deque_base::size ( ) const
inline

Gets the current size of the deque.

Returns
The current size of the deque.

◆ etl::ideque

class etl::ideque
template<typename T>
class etl::ideque< T >

The base class for all etl::deque classes.

Template Parameters
TThe type of values this deque should hold.

Public Types

typedef T value_type
typedef size_t size_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_OR_STD::reverse_iterator< iteratorreverse_iterator
typedef ETL_OR_STD::reverse_iterator< const_iteratorconst_reverse_iterator
Public Types inherited from etl::deque_base
typedef size_t size_type

Public Member Functions

template<typename TIterator>
etl::enable_if<!etl::is_integral< TIterator >::value, void >::type assign (TIterator range_begin, TIterator range_end)
 Assigns a range to the deque.
void assign (size_type n, const value_type &value)
reference at (size_t index)
const_reference at (size_t index) const
reference operator[] (size_t index)
const_reference operator[] (size_t index) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
iterator begin ()
 Gets an iterator to the beginning of the deque.
const_iterator begin () const
 Gets a const iterator to the beginning of the deque.
const_iterator cbegin () const
 Gets a const iterator to the beginning of the deque.
iterator end ()
 Gets an iterator to the end of the deque.
const_iterator end () const
 Gets a const iterator to the end of the deque.
const_iterator cend () const
 Gets a const iterator to the end of the deque.
reverse_iterator rbegin ()
 Gets a reverse iterator to the end of the deque.
const_reverse_iterator rbegin () const
 Gets a const reverse iterator to the end of the deque.
const_reverse_iterator crbegin () const
 Gets a const reverse iterator to the end of the deque.
reverse_iterator rend ()
 Gets a reverse iterator to the beginning of the deque.
const_reverse_iterator rend () const
 Gets a const reverse iterator to the beginning of the deque.
const_reverse_iterator crend () const
 Gets a const reverse iterator to the beginning of the deque.
void clear ()
 Clears the deque.
void fill (const T &value)
 Fills the deque.
iterator insert (const_iterator insert_position, const value_type &value)
template<typename T1>
iterator emplace (const_iterator insert_position, const T1 &value1)
template<typename T1, typename T2>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
iterator insert (const_iterator insert_position, size_type n, const value_type &value)
template<typename TIterator>
enable_if<!etl::is_integral< TIterator >::value, iterator >::type insert (const_iterator insert_position, TIterator range_begin, TIterator range_end)
iterator erase (const_iterator erase_position)
iterator erase (const_iterator range_begin, const_iterator range_end)
void push_back (const_reference item)
reference emplace_back ()
template<typename T1>
reference emplace_back (const T1 &value1)
template<typename T1, typename T2>
reference emplace_back (const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
reference emplace_back (const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
reference emplace_back (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
void pop_back ()
 Removes the oldest item from the deque.
void push_front (const_reference item)
reference emplace_front ()
template<typename T1>
reference emplace_front (const T1 &value1)
template<typename T1, typename T2>
reference emplace_front (const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
void pop_front ()
 Removes the oldest item from the deque.
void resize (size_t new_size, const value_type &value=value_type())
idequeoperator= (const ideque &rhs)
 Assignment operator.
Public Member Functions inherited from etl::deque_base
size_type size () const
bool empty () const
bool full () const
size_type max_size () const
size_type capacity () const
size_t available () const

Protected Member Functions

 ideque (pointer p_buffer_, size_t max_size_, size_t buffer_size_)
 Constructor.
void initialise ()
 Initialise the deque.
void repair_buffer (pointer p_buffer_)
 Fix the internal pointers after a low level memory copy.
 ~ideque ()
 Destructor.
Protected Member Functions inherited from etl::deque_base
 deque_base (size_t max_size_, size_t buffer_size_)
 Constructor.
 ~deque_base ()
 Destructor.

Protected Attributes

iterator _begin
iterator _end
 Iterator to the _begin item in the deque.
pointer p_buffer
 Iterator to the _end item in the deque.
Protected Attributes inherited from etl::deque_base
size_type current_size
 The current number of elements in the deque.
const size_type CAPACITY
 The maximum number of elements in the deque.
const size_type Buffer_Size
 The number of elements in the buffer.
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.

Friends

difference_type operator- (const iterator &lhs, const iterator &rhs)
difference_type operator- (const const_iterator &lhs, const const_iterator &rhs)

Member Function Documentation

◆ assign()

template<typename T>
void etl::ideque< T >::assign ( size_type n,
const value_type & value )
inline

Assigns 'n' copies of a value to the deque. If asserts or exceptions are enabled, throws an etl::deque_full is 'n' is too large.

Parameters
nThe number of copies to assign.
valueThe value to add.<

◆ at() [1/2]

template<typename T>
reference etl::ideque< T >::at ( size_t index)
inline

Gets a reference to the item at the index. If asserts or exceptions are enabled, throws an etl::deque_out_of_bounds if the index is out of range.

Returns
A reference to the item at the index.

◆ at() [2/2]

template<typename T>
const_reference etl::ideque< T >::at ( size_t index) const
inline

Gets a const reference to the item at the index. If asserts or exceptions are enabled, throws an etl::deque_out_of_bounds if the index is out of range.

Returns
A const reference to the item at the index.

◆ back() [1/2]

template<typename T>
reference etl::ideque< T >::back ( )
inline

Gets a reference to the item at the back of the deque.

Returns
A reference to the item at the back of the deque.

◆ back() [2/2]

template<typename T>
const_reference etl::ideque< T >::back ( ) const
inline

Gets a const reference to the item at the back of the deque.

Returns
A const reference to the item at the back of the deque.

◆ emplace() [1/4]

template<typename T>
template<typename T1>
iterator etl::ideque< T >::emplace ( const_iterator insert_position,
const T1 & value1 )
inline

Emplaces data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_position>Theinsert position. Emplaces data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.
insert_position>Theinsert position.

◆ emplace() [2/4]

template<typename T>
template<typename T1, typename T2>
iterator etl::ideque< T >::emplace ( const_iterator insert_position,
const T1 & value1,
const T2 & value2 )
inline

Emplaces data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_position>Theinsert position.

◆ emplace() [3/4]

template<typename T>
template<typename T1, typename T2, typename T3>
iterator etl::ideque< T >::emplace ( const_iterator insert_position,
const T1 & value1,
const T2 & value2,
const T3 & value3 )
inline

Emplaces data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_position>Theinsert position.

◆ emplace() [4/4]

template<typename T>
template<typename T1, typename T2, typename T3, typename T4>
iterator etl::ideque< T >::emplace ( const_iterator insert_position,
const T1 & value1,
const T2 & value2,
const T3 & value3,
const T4 & value4 )
inline

Emplaces data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_position>Theinsert position.

◆ emplace_back() [1/5]

template<typename T>
reference etl::ideque< T >::emplace_back ( )
inline

Emplaces an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_back() [2/5]

template<typename T>
template<typename T1>
reference etl::ideque< T >::emplace_back ( const T1 & value1)
inline

Emplaces an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_back() [3/5]

template<typename T>
template<typename T1, typename T2>
reference etl::ideque< T >::emplace_back ( const T1 & value1,
const T2 & value2 )
inline

Emplaces an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_back() [4/5]

template<typename T>
template<typename T1, typename T2, typename T3>
reference etl::ideque< T >::emplace_back ( const T1 & value1,
const T2 & value2,
const T3 & value3 )
inline

Emplaces an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_back() [5/5]

template<typename T>
template<typename T1, typename T2, typename T3, typename T4>
reference etl::ideque< T >::emplace_back ( const T1 & value1,
const T2 & value2,
const T3 & value3,
const T4 & value4 )
inline

Emplaces an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_front() [1/5]

template<typename T>
reference etl::ideque< T >::emplace_front ( )
inline

Emplaces an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_front() [2/5]

template<typename T>
template<typename T1>
reference etl::ideque< T >::emplace_front ( const T1 & value1)
inline

Emplaces an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_front() [3/5]

template<typename T>
template<typename T1, typename T2>
reference etl::ideque< T >::emplace_front ( const T1 & value1,
const T2 & value2 )
inline

Emplaces an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_front() [4/5]

template<typename T>
template<typename T1, typename T2, typename T3>
reference etl::ideque< T >::emplace_front ( const T1 & value1,
const T2 & value2,
const T3 & value3 )
inline

Emplaces an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ emplace_front() [5/5]

template<typename T>
template<typename T1, typename T2, typename T3, typename T4>
reference etl::ideque< T >::emplace_front ( const T1 & value1,
const T2 & value2,
const T3 & value3,
const T4 & value4 )
inline

Emplaces an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

◆ erase() [1/2]

template<typename T>
iterator etl::ideque< T >::erase ( const_iterator erase_position)
inline

Erase an item. If asserts or exceptions are enabled, throws an etl::deque_out_of_bounds if the position is out of range.

Parameters
erase_positionThe position to erase.

◆ erase() [2/2]

template<typename T>
iterator etl::ideque< T >::erase ( const_iterator range_begin,
const_iterator range_end )
inline

erase a range. If asserts or exceptions are enabled, throws an etl::deque_out_of_bounds if the iterators are out of range.

Parameters
range_beginThe beginning of the range to erase.
range_endThe end of the range to erase.

◆ front() [1/2]

template<typename T>
reference etl::ideque< T >::front ( )
inline

Gets a reference to the item at the front of the deque.

Returns
A reference to the item at the front of the deque.

◆ front() [2/2]

template<typename T>
const_reference etl::ideque< T >::front ( ) const
inline

Gets a const reference to the item at the front of the deque.

Returns
A const reference to the item at the front of the deque.

◆ insert() [1/3]

template<typename T>
iterator etl::ideque< T >::insert ( const_iterator insert_position,
const value_type & value )
inline

Inserts data into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_position>Theinsert position.
value>Thevalue to insert.

◆ insert() [2/3]

template<typename T>
iterator etl::ideque< T >::insert ( const_iterator insert_position,
size_type n,
const value_type & value )
inline

Inserts 'n' copies of a value into the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is full.

Parameters
insert_positionThe insert position.
nThe number of values to insert.
valueThe value to insert.

◆ insert() [3/3]

template<typename T>
template<typename TIterator>
enable_if<!etl::is_integral< TIterator >::value, iterator >::type etl::ideque< T >::insert ( const_iterator insert_position,
TIterator range_begin,
TIterator range_end )
inline

Inserts a range into the deque. If asserts or exceptions are enabled, throws an etl::deque_empty if the deque is full.

Parameters
insert_position>Theinsert position.
range_beginThe beginning of the range to insert.
range_endThe end of the range to insert.

◆ operator[]() [1/2]

template<typename T>
reference etl::ideque< T >::operator[] ( size_t index)
inline

Gets a reference to the item at the index.

Returns
A reference to the item at the index.

◆ operator[]() [2/2]

template<typename T>
const_reference etl::ideque< T >::operator[] ( size_t index) const
inline

Gets a const reference to the item at the index.

Returns
A const reference to the item at the index.

◆ push_back()

template<typename T>
void etl::ideque< T >::push_back ( const_reference item)
inline

Adds an item to the back of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

Parameters
itemThe item to push to the deque.

◆ push_front()

template<typename T>
void etl::ideque< T >::push_front ( const_reference item)
inline

Adds an item to the front of the deque. If asserts or exceptions are enabled, throws an etl::deque_full if the deque is already full.

Parameters
itemThe item to push to the deque.

◆ resize()

template<typename T>
void etl::ideque< T >::resize ( size_t new_size,
const value_type & value = value_type() )
inline

Resizes the deque. If asserts or exceptions are enabled, throws an etl::deque_full is 'new_size' is too large.

Parameters
new_sizeThe new size of the deque.
valueThe value to assign if the new size is larger. Default = Default constructed value.

◆ operator- [1/2]

template<typename T>
difference_type operator- ( const const_iterator & lhs,
const const_iterator & rhs )
friend

◆ operator- [2/2]

template<typename T>
difference_type operator- ( const iterator & lhs,
const iterator & rhs )
friend
  • operator for iterator

◆ etl::deque

class etl::deque
template<typename T, const size_t MAX_SIZE_>
class etl::deque< T, MAX_SIZE_ >

A fixed capacity double ended queue.

Note
The deque allocates one more element than the specified maximum size.
Template Parameters
TThe type of items this deque holds.
MAX_SIZE_The capacity of the deque

Public Types

typedef T value_type
typedef T * pointer
typedef const T * const_pointer
typedef T & reference
typedef const T & const_reference
typedef size_t size_type
typedef etl::iterator_traits< pointer >::difference_type difference_type
Public Types inherited from etl::ideque< T >
typedef T value_type
typedef size_t size_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_OR_STD::reverse_iterator< iteratorreverse_iterator
typedef ETL_OR_STD::reverse_iterator< const_iteratorconst_reverse_iterator
Public Types inherited from etl::deque_base
typedef size_t size_type

Public Member Functions

 deque ()
 Default constructor.
 ~deque ()
 Destructor.
 deque (const deque &other)
 Copy constructor.
template<typename TIterator>
 deque (TIterator begin_, TIterator end_, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
 Assigns data to the deque.
 deque (size_t n, const_reference value=value_type())
 Assigns data to the deque.
dequeoperator= (const deque &rhs)
 Assignment operator.
void repair ()
 Fix the internal pointers after a low level memory copy.
Public Member Functions inherited from etl::ideque< T >
template<typename TIterator>
etl::enable_if<!etl::is_integral< TIterator >::value, void >::type assign (TIterator range_begin, TIterator range_end)
 Assigns a range to the deque.
void assign (size_type n, const value_type &value)
reference at (size_t index)
const_reference at (size_t index) const
reference operator[] (size_t index)
const_reference operator[] (size_t index) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
iterator begin ()
 Gets an iterator to the beginning of the deque.
const_iterator begin () const
 Gets a const iterator to the beginning of the deque.
const_iterator cbegin () const
 Gets a const iterator to the beginning of the deque.
iterator end ()
 Gets an iterator to the end of the deque.
const_iterator end () const
 Gets a const iterator to the end of the deque.
const_iterator cend () const
 Gets a const iterator to the end of the deque.
reverse_iterator rbegin ()
 Gets a reverse iterator to the end of the deque.
const_reverse_iterator rbegin () const
 Gets a const reverse iterator to the end of the deque.
const_reverse_iterator crbegin () const
 Gets a const reverse iterator to the end of the deque.
reverse_iterator rend ()
 Gets a reverse iterator to the beginning of the deque.
const_reverse_iterator rend () const
 Gets a const reverse iterator to the beginning of the deque.
const_reverse_iterator crend () const
 Gets a const reverse iterator to the beginning of the deque.
void clear ()
 Clears the deque.
void fill (const T &value)
 Fills the deque.
iterator insert (const_iterator insert_position, const value_type &value)
template<typename T1>
iterator emplace (const_iterator insert_position, const T1 &value1)
template<typename T1, typename T2>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
iterator emplace (const_iterator insert_position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
iterator insert (const_iterator insert_position, size_type n, const value_type &value)
template<typename TIterator>
enable_if<!etl::is_integral< TIterator >::value, iterator >::type insert (const_iterator insert_position, TIterator range_begin, TIterator range_end)
iterator erase (const_iterator erase_position)
iterator erase (const_iterator range_begin, const_iterator range_end)
void push_back (const_reference item)
reference emplace_back ()
template<typename T1>
reference emplace_back (const T1 &value1)
template<typename T1, typename T2>
reference emplace_back (const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
reference emplace_back (const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
reference emplace_back (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
void pop_back ()
 Removes the oldest item from the deque.
void push_front (const_reference item)
reference emplace_front ()
template<typename T1>
reference emplace_front (const T1 &value1)
template<typename T1, typename T2>
reference emplace_front (const T1 &value1, const T2 &value2)
template<typename T1, typename T2, typename T3>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3)
template<typename T1, typename T2, typename T3, typename T4>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
void pop_front ()
 Removes the oldest item from the deque.
void resize (size_t new_size, const value_type &value=value_type())
idequeoperator= (const ideque &rhs)
 Assignment operator.
Public Member Functions inherited from etl::deque_base
size_type size () const
bool empty () const
bool full () const
size_type max_size () const
size_type capacity () const
size_t available () const

Static Public Attributes

static ETL_CONSTANT size_t MAX_SIZE = MAX_SIZE_

Additional Inherited Members

Protected Member Functions inherited from etl::ideque< T >
 ideque (pointer p_buffer_, size_t max_size_, size_t buffer_size_)
 Constructor.
void initialise ()
 Initialise the deque.
void repair_buffer (pointer p_buffer_)
 Fix the internal pointers after a low level memory copy.
 ~ideque ()
 Destructor.
Protected Member Functions inherited from etl::deque_base
 deque_base (size_t max_size_, size_t buffer_size_)
 Constructor.
 ~deque_base ()
 Destructor.
Protected Attributes inherited from etl::ideque< T >
iterator _begin
iterator _end
 Iterator to the _begin item in the deque.
pointer p_buffer
 Iterator to the _end item in the deque.
Protected Attributes inherited from etl::deque_base
size_type current_size
 The current number of elements in the deque.
const size_type CAPACITY
 The maximum number of elements in the deque.
const size_type Buffer_Size
 The number of elements in the buffer.
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.

Function Documentation

◆ operator!=()

template<typename T>
bool etl::operator!= ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Not equal operator.

Parameters
lhsReference to the _begin deque.
rhsReference to the second deque.
Returns
true if the arrays are not equal, otherwise false

◆ operator<()

template<typename T>
bool etl::operator< ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Less than operator.

Parameters
lhsReference to the _begin deque.
rhsReference to the second deque.
Returns
true if the _begin deque is lexicographically less than the second, otherwise false

◆ operator<=()

template<typename T>
bool etl::operator<= ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Less than or equal operator.

Parameters
lhsReference to the _begin deque.
rhsReference to the second deque.
Returns
true if the _begin deque is lexicographically less than or equal to the second, otherwise false

◆ operator==()

template<typename T>
bool etl::operator== ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Template deduction guides.

Make Equal operator.

Parameters
lhsReference to the _begin deque.
rhsReference to the second deque.
Returns
true if the arrays are equal, otherwise false

◆ operator>()

template<typename T>
bool etl::operator> ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Greater than operator.

Parameters
lhsReference to the _begin deque.
rhsReference to the second deque.
Returns
true if the _begin deque is lexicographically greater than the second, otherwise false

◆ operator>=()

template<typename T>
bool etl::operator>= ( const etl::ideque< T > & lhs,
const etl::ideque< T > & rhs )

Greater than or equal operator.

Parameters
"lhsReference to the _begin deque.
"rhsReference to the second deque.
Returns
true if the _begin deque is lexicographically greater than or equal to the second, otherwise false