Embedded Template Library 1.0
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::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 Types inherited from etl::vector_base
typedef size_t size_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.
 
- 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, value_type value)
 
void insert (const_iterator position, size_t n, value_type value)
 
template<typename 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)
 
etl::pvoidvectoroperator= (const etl::pvoidvector &rhs)
 Assignment operator.
 
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
 

Protected Types

typedef value_type parameter_t
 

Protected Member Functions

 ivector (const T **p_buffer_, size_t MAX_SIZE_)
 Constructor.
 
- 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 Member Functions inherited from etl::vector_base
 vector_base (size_t max_size_)
 Constructor.
 
 ~vector_base ()
 Destructor.
 

Additional Inherited Members

- Protected Attributes inherited from etl::pvoidvector
void ** p_buffer
 
void ** p_end
 
- Protected Attributes inherited from etl::vector_base
const size_type CAPACITY
 The maximum number of elements in the vector.
 

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'

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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: