|
Embedded Template Library 1.0
|
Classes | |
| class | etl::iindirect_vector< T > |
| class | etl::indirect_vector< T, MAX_SIZE_ > |
| class | etl::indirect_vector_ext< T > |
| Template deduction guides. More... | |
Functions | |
| template<typename T> | |
| bool | etl::operator== (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
| template<typename T> | |
| bool | etl::operator!= (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
| template<typename T> | |
| bool | etl::operator< (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
| template<typename T> | |
| bool | etl::operator> (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
| template<typename T> | |
| bool | etl::operator<= (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
| template<typename T> | |
| bool | etl::operator>= (const etl::iindirect_vector< T > &lhs, const etl::iindirect_vector< T > &rhs) |
A indirect_vector with the capacity defined at compile time. Objects are allocated from a pool and stored as pointers.
| class etl::iindirect_vector |
The base class for specifically sized vectors. Can be used as a reference type for all vectors containing a specific type.
Public Types | |
| typedef T | value_type |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef etl::ivector< T * >::iterator | indirect_iterator |
| typedef etl::ivector< T * >::const_iterator | indirect_const_iterator |
| typedef etl::ivector< T * >::size_type | size_type |
| typedef etl::ivector< T * >::difference_type | difference_type |
| typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
| typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
Public Member Functions | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| const_reverse_iterator | crbegin () const |
| const_reverse_iterator | crend () const |
| void | resize (size_t new_size) |
| void | resize (size_t new_size, const_reference value) |
| void | reserve (size_t n) |
| reference | operator[] (size_t i) |
| const_reference | operator[] (size_t i) const |
| reference | at (size_t i) |
| const_reference | at (size_t i) const |
| reference | front () |
| const_reference | front () const |
| reference | back () |
| const_reference | back () const |
| template<typename TIterator> | |
| void | assign (TIterator first, TIterator last) |
| void | assign (size_t n, parameter_t value) |
| void | clear () |
| Clears the indirect_vector. | |
| void | fill (const T &value) |
| Fills the buffer. | |
| void | push_back (const_reference value) |
| 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 an element from the end of the indirect_vector. | |
| iterator | insert (const_iterator position, const_reference value) |
| iterator | emplace (iterator position) |
| Emplaces a value to the vector at the specified position. | |
| template<typename T1> | |
| iterator | emplace (iterator position, const T1 &value1) |
| template<typename T1, typename T2> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2) |
| template<typename T1, typename T2, typename T3> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3) |
| template<typename T1, typename T2, typename T3, typename T4> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| iterator | insert (const_iterator position, size_t n, parameter_t value) |
| template<class TIterator> | |
| iterator | insert (const_iterator position, TIterator first, TIterator last) |
| iterator | erase (iterator i_element) |
| iterator | erase (const_iterator i_element) |
| iterator | erase (const_iterator first, const_iterator last) |
| iindirect_vector & | operator= (const iindirect_vector &rhs) |
| Assignment operator. | |
| size_type | size () const |
| size_type | capacity () const |
| bool | empty () const |
| bool | full () const |
| size_type | max_size () const |
| size_type | available () const |
Protected Types | |
| typedef etl::parameter_type< T >::type | parameter_t |
Protected Member Functions | |
| iindirect_vector (etl::ivector< T * > &lookup_, etl::ipool &storage_) | |
| Constructor. | |
| void | initialise () |
| Initialise the indirect_vector. | |
| ~iindirect_vector () | |
| Destructor. | |
| iterator | to_iterator (const_iterator itr) const |
| Convert from const_iterator to iterator. | |
Protected Attributes | |
| etl::ivector< T * > & | lookup |
| etl::ipool & | storage |
|
inline |
Assigns values to the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector does not have enough free space.
| n | The number of elements to add. |
| value | The value to insert for each element. |
|
inline |
Assigns values to the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector does not have enough free space. If asserts or exceptions are enabled, emits vector_iterator if the iterators are reversed.
| first | The iterator to the first element. |
| last | The iterator to the last element + 1. |
|
inline |
Returns a reference to the value at index 'i' If asserts or exceptions are enabled, emits an etl::vector_out_of_bounds if the index is out of range.
| i | The index. |
|
inline |
Returns a const reference to the value at index 'i' If asserts or exceptions are enabled, emits an etl::vector_out_of_bounds if the index is out of range.
| i | The index. |
|
inline |
Returns the remaining capacity.
|
inline |
Returns a reference to the last element.
|
inline |
Returns a const reference to the last element.
|
inline |
Returns an iterator to the beginning of the indirect_vector.
|
inline |
Returns a const_iterator to the beginning of the indirect_vector.
|
inline |
Gets the current capacity of the indirect_vector.
|
inline |
Returns a const_iterator to the beginning of the indirect_vector.
|
inline |
Returns a const_iterator to the end of the indirect_vector.
|
inline |
Returns a const reverse iterator to the reverse beginning of the indirect_vector.
|
inline |
Returns a const reverse iterator to the end + 1 of the indirect_vector.
|
inline |
Constructs a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Constructs a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Constructs a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Constructs a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Constructs a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Checks the 'empty' state of the indirect_vector.
|
inline |
Returns an iterator to the end of the indirect_vector.
|
inline |
Returns a const_iterator to the end of the indirect_vector.
|
inline |
Erases a range of elements. The range includes all the elements between first and last, including the element pointed by first, but not the one pointed by last.
| first | Iterator to the first element. |
| last | Iterator to the last element. |
|
inline |
Erases an element.
| i_element | Iterator to the element. |
|
inline |
Erases an element.
| i_element | Iterator to the element. |
|
inline |
Returns a reference to the first element.
|
inline |
Returns a const reference to the first element.
|
inline |
Checks the 'full' state of the indirect_vector.
|
inline |
Inserts a value to the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| position | The position to insert before. |
| value | The value to insert. |
|
inline |
Inserts 'n' values to the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector does not have enough free space.
| position | The position to insert before. |
| n | The number of elements to add. |
| value | The value to insert. |
|
inline |
Inserts a range of values to the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector does not have enough free space.
| position | The position to insert before. |
| first | The first element to add. |
| last | The last + 1 element to add. |
|
inline |
Returns the maximum size.
|
inline |
Returns a reference to the value at index 'i'
| i | The index. |
|
inline |
Returns a const reference to the value at index 'i'
| i | The index. |
|
inline |
Inserts a value at the end of the indirect_vector. If asserts or exceptions are enabled, emits vector_full if the indirect_vector is already full.
| value | The value to add. |
|
inline |
Returns an reverse iterator to the reverse beginning of the indirect_vector.
|
inline |
Returns a const reverse iterator to the reverse beginning of the indirect_vector.
|
inline |
Returns a reverse iterator to the end + 1 of the indirect_vector.
|
inline |
Returns a const reverse iterator to the end + 1 of the indirect_vector.
|
inline |
For compatibility with the STL vector API. Does not increase the capacity, as this is fixed. Asserts an etl::vector_out_of_bounds error if the request is for more than the capacity.
|
inline |
Resizes the indirect_vector. If asserts or exceptions are enabled and the new size is larger than the maximum then a vector_full is thrown.
| new_size | The new size. |
|
inline |
Resizes the indirect_vector. If asserts or exceptions are enabled and the new size is larger than the maximum then a vector_full is thrown.
| new_size | The new size. |
| value | The value to fill new elements with. Default = default constructed value. |
|
inline |
Gets the current size of the indirect_vector.
| class etl::indirect_vector |
A indirect_vector implementation that uses a fixed size buffer.
| T | The element type. |
| MAX_SIZE_ | The maximum number of elements that can be stored. |
Public Member Functions | |
| ETL_STATIC_ASSERT ((MAX_SIZE_ > 0U), "Zero capacity etl::indirect_vector is not valid") | |
| indirect_vector () | |
| Constructor. | |
| indirect_vector (size_t initial_size) | |
| indirect_vector (size_t initial_size, typename etl::iindirect_vector< T >::parameter_t value) | |
| template<typename TIterator> | |
| indirect_vector (TIterator first, TIterator last) | |
| indirect_vector (const indirect_vector &other) | |
| Copy constructor. | |
| indirect_vector & | operator= (const indirect_vector &rhs) |
| Assignment operator. | |
| ~indirect_vector () | |
| Destructor. | |
| Public Member Functions inherited from etl::iindirect_vector< T > | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| const_reverse_iterator | crbegin () const |
| const_reverse_iterator | crend () const |
| void | resize (size_t new_size) |
| void | resize (size_t new_size, const_reference value) |
| void | reserve (size_t n) |
| reference | operator[] (size_t i) |
| const_reference | operator[] (size_t i) const |
| reference | at (size_t i) |
| const_reference | at (size_t i) const |
| reference | front () |
| const_reference | front () const |
| reference | back () |
| const_reference | back () const |
| template<typename TIterator> | |
| void | assign (TIterator first, TIterator last) |
| void | assign (size_t n, parameter_t value) |
| void | clear () |
| Clears the indirect_vector. | |
| void | fill (const T &value) |
| Fills the buffer. | |
| void | push_back (const_reference value) |
| 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 an element from the end of the indirect_vector. | |
| iterator | insert (const_iterator position, const_reference value) |
| iterator | emplace (iterator position) |
| Emplaces a value to the vector at the specified position. | |
| template<typename T1> | |
| iterator | emplace (iterator position, const T1 &value1) |
| template<typename T1, typename T2> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2) |
| template<typename T1, typename T2, typename T3> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3) |
| template<typename T1, typename T2, typename T3, typename T4> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| iterator | insert (const_iterator position, size_t n, parameter_t value) |
| template<class TIterator> | |
| iterator | insert (const_iterator position, TIterator first, TIterator last) |
| iterator | erase (iterator i_element) |
| iterator | erase (const_iterator i_element) |
| iterator | erase (const_iterator first, const_iterator last) |
| iindirect_vector & | operator= (const iindirect_vector &rhs) |
| Assignment operator. | |
| size_type | size () const |
| size_type | capacity () const |
| bool | empty () const |
| bool | full () const |
| size_type | max_size () const |
| size_type | available () const |
Static Public Attributes | |
| static ETL_CONSTANT size_t | MAX_SIZE = MAX_SIZE_ |
Additional Inherited Members | |
| Public Types inherited from etl::iindirect_vector< T > | |
| typedef T | value_type |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef etl::ivector< T * >::iterator | indirect_iterator |
| typedef etl::ivector< T * >::const_iterator | indirect_const_iterator |
| typedef etl::ivector< T * >::size_type | size_type |
| typedef etl::ivector< T * >::difference_type | difference_type |
| typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
| typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
| Protected Types inherited from etl::iindirect_vector< T > | |
| typedef etl::parameter_type< T >::type | parameter_t |
| Protected Member Functions inherited from etl::iindirect_vector< T > | |
| iindirect_vector (etl::ivector< T * > &lookup_, etl::ipool &storage_) | |
| Constructor. | |
| void | initialise () |
| Initialise the indirect_vector. | |
| ~iindirect_vector () | |
| Destructor. | |
| iterator | to_iterator (const_iterator itr) const |
| Convert from const_iterator to iterator. | |
| Protected Attributes inherited from etl::iindirect_vector< T > | |
| etl::ivector< T * > & | lookup |
| etl::ipool & | storage |
|
inlineexplicit |
Constructor, with size.
| initial_size | The initial size of the indirect_vector. |
|
inline |
Constructor, from initial size and value.
| initial_size | The initial size of the indirect_vector. |
| value | The value to fill the indirect_vector with. |
|
inline |
Constructor, from an iterator range.
| TIterator | The iterator type. |
| first | The iterator to the first element. |
| last | The iterator to the last element + 1. |
| class etl::indirect_vector_ext |
Template deduction guides.
Make A indirect_vector implementation that uses a fixed size buffer. The buffer is supplied on construction.
| T | The element type. |
Public Member Functions | |
| indirect_vector_ext (etl::ivector< T * > &lookup_, etl::ipool &pool_) | |
| Constructor. | |
| indirect_vector_ext (size_t initial_size, etl::ivector< T * > &lookup_, etl::ipool &pool_) | |
| indirect_vector_ext (size_t initial_size, typename etl::iindirect_vector< T >::parameter_t value, etl::ivector< T * > &lookup_, etl::ipool &pool_) | |
| template<typename TIterator> | |
| indirect_vector_ext (TIterator first, TIterator last, etl::ivector< T * > &lookup_, etl::ipool &pool_) | |
| indirect_vector_ext (const indirect_vector_ext &other, etl::ivector< T * > &lookup_, etl::ipool &pool_) | |
| Construct a copy. | |
| indirect_vector_ext (const indirect_vector_ext &other) ETL_DELETE | |
| Copy constructor (Deleted). | |
| indirect_vector_ext & | operator= (const indirect_vector_ext &rhs) |
| Assignment operator. | |
| ~indirect_vector_ext () | |
| Destructor. | |
| Public Member Functions inherited from etl::iindirect_vector< T > | |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| reverse_iterator | rbegin () |
| const_reverse_iterator | rbegin () const |
| reverse_iterator | rend () |
| const_reverse_iterator | rend () const |
| const_reverse_iterator | crbegin () const |
| const_reverse_iterator | crend () const |
| void | resize (size_t new_size) |
| void | resize (size_t new_size, const_reference value) |
| void | reserve (size_t n) |
| reference | operator[] (size_t i) |
| const_reference | operator[] (size_t i) const |
| reference | at (size_t i) |
| const_reference | at (size_t i) const |
| reference | front () |
| const_reference | front () const |
| reference | back () |
| const_reference | back () const |
| template<typename TIterator> | |
| void | assign (TIterator first, TIterator last) |
| void | assign (size_t n, parameter_t value) |
| void | clear () |
| Clears the indirect_vector. | |
| void | fill (const T &value) |
| Fills the buffer. | |
| void | push_back (const_reference value) |
| 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 an element from the end of the indirect_vector. | |
| iterator | insert (const_iterator position, const_reference value) |
| iterator | emplace (iterator position) |
| Emplaces a value to the vector at the specified position. | |
| template<typename T1> | |
| iterator | emplace (iterator position, const T1 &value1) |
| template<typename T1, typename T2> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2) |
| template<typename T1, typename T2, typename T3> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3) |
| template<typename T1, typename T2, typename T3, typename T4> | |
| iterator | emplace (iterator position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| iterator | insert (const_iterator position, size_t n, parameter_t value) |
| template<class TIterator> | |
| iterator | insert (const_iterator position, TIterator first, TIterator last) |
| iterator | erase (iterator i_element) |
| iterator | erase (const_iterator i_element) |
| iterator | erase (const_iterator first, const_iterator last) |
| iindirect_vector & | operator= (const iindirect_vector &rhs) |
| Assignment operator. | |
| size_type | size () const |
| size_type | capacity () const |
| bool | empty () const |
| bool | full () const |
| size_type | max_size () const |
| size_type | available () const |
Additional Inherited Members | |
| Public Types inherited from etl::iindirect_vector< T > | |
| typedef T | value_type |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef etl::ivector< T * >::iterator | indirect_iterator |
| typedef etl::ivector< T * >::const_iterator | indirect_const_iterator |
| typedef etl::ivector< T * >::size_type | size_type |
| typedef etl::ivector< T * >::difference_type | difference_type |
| typedef ETL_OR_STD::reverse_iterator< iterator > | reverse_iterator |
| typedef ETL_OR_STD::reverse_iterator< const_iterator > | const_reverse_iterator |
| Protected Types inherited from etl::iindirect_vector< T > | |
| typedef etl::parameter_type< T >::type | parameter_t |
| Protected Member Functions inherited from etl::iindirect_vector< T > | |
| iindirect_vector (etl::ivector< T * > &lookup_, etl::ipool &storage_) | |
| Constructor. | |
| void | initialise () |
| Initialise the indirect_vector. | |
| ~iindirect_vector () | |
| Destructor. | |
| iterator | to_iterator (const_iterator itr) const |
| Convert from const_iterator to iterator. | |
| Protected Attributes inherited from etl::iindirect_vector< T > | |
| etl::ivector< T * > & | lookup |
| etl::ipool & | storage |
|
inlineexplicit |
Constructor, with size.
| initial_size | The initial size of the indirect_vector_ext. |
|
inline |
Constructor, from initial size and value.
| initial_size | The initial size of the indirect_vector_ext. |
| value | The value to fill the indirect_vector_ext with. |
|
inline |
Constructor, from an iterator range.
| TIterator | The iterator type. |
| first | The iterator to the first element. |
| last | The iterator to the last element + 1. |
| bool etl::operator!= | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Not equal operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |
| bool etl::operator< | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Less than operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |
| bool etl::operator<= | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Less than or equal operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |
| bool etl::operator== | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Equal operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |
| bool etl::operator> | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Greater than operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |
| bool etl::operator>= | ( | const etl::iindirect_vector< T > & | lhs, |
| const etl::iindirect_vector< T > & | rhs ) |
Greater than or equal operator.
| lhs | Reference to the first indirect_vector. |
| rhs | Reference to the second indirect_vector. |