Embedded Template Library 1.0
Loading...
Searching...
No Matches
etl::ivector< const T * > Class Template Reference

Public Types

typedef const T * value_type
typedef value_type & reference
typedef const value_type & const_reference
typedef value_type * pointer
typedef const value_type * const_pointer
typedef value_type * iterator
typedef const value_type * const_iterator
typedef ETL_OR_STD::reverse_iterator< iterator > reverse_iterator
typedef ETL_OR_STD::reverse_iterator< const_iterator > const_reverse_iterator
typedef size_t size_type
typedef etl::iterator_traits< iterator >::difference_type difference_type
Public Types inherited from etl::vector_base
typedef size_t size_type
Public Types inherited from etl::pvoidvector
typedef void * value_type
typedef value_type & reference
typedef const value_type & const_reference
typedef value_type * pointer
typedef const value_type * const_pointer
typedef value_type * iterator
typedef const value_type * const_iterator
typedef ETL_OR_STD::reverse_iterator< iterator > reverse_iterator
typedef ETL_OR_STD::reverse_iterator< const_iterator > const_reverse_iterator
typedef size_t size_type
typedef etl::iterator_traits< iterator >::difference_type difference_type

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, value_type value)
void uninitialized_resize (size_t new_size)
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
pointer data ()
const_pointer data () const
template<typename TIterator>
void assign (TIterator first, TIterator last)
void assign (size_t n, parameter_t value)
void clear ()
 Clears the vector.
void push_back (parameter_t value)
void pop_back ()
iterator insert (const_iterator position, parameter_t value)
void insert (const_iterator position, size_t n, parameter_t value)
template<class TIterator>
void 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)
ivectoroperator= (const ivector &rhs)
 Assignment operator.
void reserve (size_t n)
void fill (const T &value)
 Fills the vector.
reference emplace_back ()
iterator emplace (const_iterator position, const T1 &value1)
 Emplaces a value to the vector at the specified position.
size_type size () const
bool empty () const
bool full () const
size_t available () const
Public Member Functions inherited from etl::vector_base
size_type capacity () const
size_type max_size () const
Public Member Functions inherited from etl::pvoidvector
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, value_type value)
void uninitialized_resize (size_t new_size)
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
pointer data ()
const_pointer data () const
template<typename TIterator>
etl::enable_if<!etl::is_pointer< TIterator >::value, void >::type assign (TIterator first, TIterator last)
template<typename TIterator>
etl::enable_if< etl::is_pointer< TIterator >::value, void >::type assign (TIterator first, TIterator last)
void assign (size_t n, value_type value)
void clear ()
 Clears the vector.
void push_back (value_type value)
void emplace_back (value_type value)
void pop_back ()
iterator insert (const_iterator position, value_type value)
iterator emplace (const_iterator position)
iterator emplace (const_iterator position, value_type value)
void insert (const_iterator position, size_t n, value_type value)
template<typename TIterator>
etl::enable_if<!etl::is_pointer< TIterator >::value, void >::type insert (const_iterator position, TIterator first, TIterator last)
template<typename TIterator>
etl::enable_if< etl::is_pointer< TIterator >::value, void >::type 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)
etl::pvoidvectoroperator= (const etl::pvoidvector &rhs)
 Assignment operator.
size_type size () const
bool empty () const
bool full () const
size_t available () const

Protected Types

typedef value_type parameter_t

Protected Member Functions

 ivector (const T **p_buffer_, size_t MAX_SIZE_)
 Constructor.
void initialise ()
 Initialise the vector.
void repair_buffer (T *p_buffer_)
 Fix the internal pointers after a low level memory copy.
Protected Member Functions inherited from etl::vector_base
 vector_base (size_t max_size_)
 Constructor.
 ~vector_base ()
 Destructor.
Protected Member Functions inherited from etl::pvoidvector
 pvoidvector (void **p_buffer_, size_t MAX_SIZE)
 Constructor.
void initialise ()
 Initialise the vector.
void repair_buffer (void **p_buffer_)
 Fix the internal pointers after a low level memory copy.

Protected Attributes

pointer p_buffer
 Pointer to the start of the buffer.
pointer p_end
 Pointer to one past the last element in the buffer.
Protected Attributes inherited from etl::vector_base
const size_type CAPACITY
 The maximum number of elements in the vector.
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.
Protected Attributes inherited from etl::pvoidvector
void ** p_buffer
void ** p_end

Member Function Documentation

◆ assign() [1/2]

template<typename T>
void etl::ivector< const T * >::assign ( size_t n,
parameter_t value )
inline

Assigns values to the vector. If asserts or exceptions are enabled, emits vector_full if the vector does not have enough free space.

Parameters
nThe number of elements to add.
valueThe value to insert for each element.

◆ assign() [2/2]

template<typename T>
template<typename TIterator>
void etl::ivector< const T * >::assign ( TIterator first,
TIterator last )
inline

Assigns values to the vector. If asserts or exceptions are enabled, emits vector_full if the vector does not have enough free space. If asserts or exceptions are enabled, emits vector_iterator if the iterators are reversed.

Parameters
firstThe iterator to the first element.
lastThe iterator to the last element + 1.

◆ at() [1/2]

template<typename T>
reference etl::ivector< const T * >::at ( size_t i)
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.

Parameters
iThe index.
Returns
A reference to the value at index 'i'

◆ at() [2/2]

template<typename T>
const_reference etl::ivector< const T * >::at ( size_t i) const
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.

Parameters
iThe index.
Returns
A const reference to the value at index 'i'

◆ available()

size_t etl::ivector< T >::available ( ) const
inline

Returns the remaining capacity.

Returns
The remaining capacity.

◆ back() [1/2]

template<typename T>
reference etl::ivector< const T * >::back ( )
inline

Returns a reference to the last element.

Returns
A reference to the last element.

◆ back() [2/2]

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

Returns a const reference to the last element.

Returns
A const reference to the last element.

◆ begin() [1/2]

template<typename T>
iterator etl::ivector< const T * >::begin ( )
inline

Returns an iterator to the beginning of the vector.

Returns
An iterator to the beginning of the vector.

◆ begin() [2/2]

template<typename T>
const_iterator etl::ivector< const T * >::begin ( ) const
inline

Returns a const_iterator to the beginning of the vector.

Returns
A const iterator to the beginning of the vector.

◆ cbegin()

template<typename T>
const_iterator etl::ivector< const T * >::cbegin ( ) const
inline

Returns a const_iterator to the beginning of the vector.

Returns
A const iterator to the beginning of the vector.

◆ cend()

template<typename T>
const_iterator etl::ivector< const T * >::cend ( ) const
inline

Returns a const_iterator to the end of the vector.

Returns
A const iterator to the end of the vector.

◆ crbegin()

template<typename T>
const_reverse_iterator etl::ivector< const T * >::crbegin ( ) const
inline

Returns a const reverse iterator to the reverse beginning of the vector.

Returns
Const reverse iterator to the reverse beginning of the vector.

◆ crend()

template<typename T>
const_reverse_iterator etl::ivector< const T * >::crend ( ) const
inline

Returns a const reverse iterator to the end + 1 of the vector.

Returns
Const reverse iterator to the end + 1 of the vector.

◆ data() [1/2]

template<typename T>
pointer etl::ivector< const T * >::data ( )
inline

Returns a pointer to the beginning of the vector data.

Returns
A pointer to the beginning of the vector data.

◆ data() [2/2]

template<typename T>
const_pointer etl::ivector< const T * >::data ( ) const
inline

Returns a const pointer to the beginning of the vector data.

Returns
A const pointer to the beginning of the vector data.

◆ emplace_back()

reference etl::ivector< T >::emplace_back ( )
inline

Constructs a value at the end of the vector. If asserts or exceptions are enabled, emits vector_full if the vector is already full.

Parameters
valueThe value to add.

◆ empty()

bool etl::ivector< T >::empty ( ) const
inline

Checks the 'empty' state of the vector.

Returns
true if empty.

◆ end() [1/2]

template<typename T>
iterator etl::ivector< const T * >::end ( )
inline

Returns an iterator to the end of the vector.

Returns
An iterator to the end of the vector.

◆ end() [2/2]

template<typename T>
const_iterator etl::ivector< const T * >::end ( ) const
inline

Returns a const_iterator to the end of the vector.

Returns
A const iterator to the end of the vector.

◆ erase() [1/3]

template<typename T>
iterator etl::ivector< const T * >::erase ( const_iterator first,
const_iterator last )
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.

Parameters
firstIterator to the first element.
lastIterator to the last element.
Returns
An iterator pointing to the element that followed the erased element.

◆ erase() [2/3]

template<typename T>
iterator etl::ivector< const T * >::erase ( const_iterator i_element)
inline

Erases an element.

Parameters
i_elementIterator to the element.
Returns
An iterator pointing to the element that followed the erased element.

◆ erase() [3/3]

template<typename T>
iterator etl::ivector< const T * >::erase ( iterator i_element)
inline

Erases an element.

Parameters
i_elementIterator to the element.
Returns
An iterator pointing to the element that followed the erased element.

◆ front() [1/2]

template<typename T>
reference etl::ivector< const T * >::front ( )
inline

Returns a reference to the first element.

Returns
A reference to the first element.

◆ front() [2/2]

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

Returns a const reference to the first element.

Returns
A const reference to the first element.

◆ full()

bool etl::ivector< T >::full ( ) const
inline

Checks the 'full' state of the vector.

Returns
true if full.

◆ insert() [1/3]

template<typename T>
iterator etl::ivector< const T * >::insert ( const_iterator position,
parameter_t value )
inline

Inserts a value to the vector. If asserts or exceptions are enabled, emits vector_full if the vector is already full.

Parameters
positionThe position to insert before.
valueThe value to insert.

◆ insert() [2/3]

template<typename T>
void etl::ivector< const T * >::insert ( const_iterator position,
size_t n,
parameter_t value )
inline

Inserts 'n' values to the vector. If asserts or exceptions are enabled, emits vector_full if the vector does not have enough free space.

Parameters
positionThe position to insert before.
nThe number of elements to add.
valueThe value to insert.

◆ insert() [3/3]

template<typename T>
template<class TIterator>
void etl::ivector< const T * >::insert ( const_iterator position,
TIterator first,
TIterator last )
inline

Inserts a range of values to the vector. If asserts or exceptions are enabled, emits vector_full if the vector does not have enough free space.

Parameters
positionThe position to insert before.
firstThe first element to add.
lastThe last + 1 element to add.

◆ operator[]() [1/2]

template<typename T>
reference etl::ivector< const T * >::operator[] ( size_t i)
inline

Returns a reference to the value at index 'i'

Parameters
iThe index.
Returns
A reference to the value at index 'i'

◆ operator[]() [2/2]

template<typename T>
const_reference etl::ivector< const T * >::operator[] ( size_t i) const
inline

Returns a const reference to the value at index 'i'

Parameters
iThe index.
Returns
A const reference to the value at index 'i'

◆ pop_back()

template<typename T>
void etl::ivector< const T * >::pop_back ( )
inline

Removes an element from the end of the vector. Does nothing if the vector is empty.

◆ push_back()

template<typename T>
void etl::ivector< const T * >::push_back ( parameter_t value)
inline

Inserts a value at the end of the vector. If asserts or exceptions are enabled, emits vector_full if the vector is already full.

Parameters
valueThe value to add.

◆ rbegin() [1/2]

template<typename T>
reverse_iterator etl::ivector< const T * >::rbegin ( )
inline

Returns an reverse iterator to the reverse beginning of the vector.

Returns
Iterator to the reverse beginning of the vector.

◆ rbegin() [2/2]

template<typename T>
const_reverse_iterator etl::ivector< const T * >::rbegin ( ) const
inline

Returns a const reverse iterator to the reverse beginning of the vector.

Returns
Const iterator to the reverse beginning of the vector.

◆ rend() [1/2]

template<typename T>
reverse_iterator etl::ivector< const T * >::rend ( )
inline

Returns a reverse iterator to the end + 1 of the vector.

Returns
Reverse iterator to the end + 1 of the vector.

◆ rend() [2/2]

template<typename T>
const_reverse_iterator etl::ivector< const T * >::rend ( ) const
inline

Returns a const reverse iterator to the end + 1 of the vector.

Returns
Const reverse iterator to the end + 1 of the vector.

◆ reserve()

void etl::ivector< T >::reserve ( size_t n)
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.

◆ resize() [1/2]

template<typename T>
void etl::ivector< const T * >::resize ( size_t new_size)
inline

Resizes the vector. If asserts or exceptions are enabled and the new size is larger than the maximum then a vector_full is thrown.

Parameters
new_sizeThe new size.

◆ resize() [2/2]

template<typename T>
void etl::ivector< const T * >::resize ( size_t new_size,
value_type value )
inline

Resizes the vector. If asserts or exceptions are enabled and the new size is larger than the maximum then a vector_full is thrown.

Parameters
new_sizeThe new size.
valueThe value to fill new elements with. Default = default constructed value.

◆ size()

size_type etl::ivector< T >::size ( ) const
inline

Gets the current size of the vector.

Returns
The current size of the vector.

◆ uninitialized_resize()

template<typename T>
void etl::ivector< const T * >::uninitialized_resize ( size_t new_size)
inline

Resizes the vector, but does not initialise new entries.

Parameters
new_sizeThe new size.

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