Embedded Template Library 1.0
etl::ireference_flat_set< T, TKeyCompare > Class Template Reference

#include <reference_flat_set.h>

Classes

class  const_iterator
 
class  iterator
 

Public Types

typedef T key_type
 
typedef T value_type
 
typedef TKeyCompare key_compare
 
typedef value_type & reference
 
typedef const value_type & const_reference
 
typedef value_type * pointer
 
typedef const value_type * const_pointer
 
typedef size_t size_type
 
typedef ETL_OR_STD::reverse_iterator< iteratorreverse_iterator
 
typedef ETL_OR_STD::reverse_iterator< const_iteratorconst_reverse_iterator
 
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
 
template<typename TIterator >
void assign (TIterator first, TIterator last)
 
ETL_OR_STD::pair< iterator, bool > insert (reference value)
 
iterator insert (const_iterator, reference value)
 
template<class TIterator >
void insert (TIterator first, TIterator last)
 
size_t erase (parameter_t key)
 
iterator erase (iterator i_element)
 
iterator erase (const_iterator i_element)
 
iterator erase (const_iterator first, const_iterator last)
 
void clear ()
 Clears the reference_flat_set.
 
iterator find (parameter_t key)
 
const_iterator find (parameter_t key) const
 
size_t count (parameter_t key) const
 
iterator lower_bound (parameter_t key)
 
const_iterator lower_bound (parameter_t key) const
 
iterator upper_bound (parameter_t key)
 
const_iterator upper_bound (parameter_t key) const
 
ETL_OR_STD::pair< iterator, iteratorequal_range (parameter_t key)
 
ETL_OR_STD::pair< const_iterator, const_iteratorequal_range (parameter_t key) const
 
bool contains (parameter_t key) const
 Check if the set contains the key.
 
size_type size () const
 
bool empty () const
 
bool full () const
 
size_type capacity () const
 
size_type max_size () const
 
size_t available () const
 

Protected Types

typedef etl::ivector< value_type * > lookup_t
 
typedef etl::parameter_type< T >::type parameter_t
 

Protected Member Functions

 ireference_flat_set (lookup_t &lookup_)
 Constructor.
 
ETL_OR_STD::pair< iterator, bool > insert_at (iterator i_element, reference value)
 
 ~ireference_flat_set ()
 Destructor.
 

Detailed Description

template<typename T, typename TKeyCompare = etl::less<T>>
class etl::ireference_flat_set< T, TKeyCompare >

The base class for specifically sized reference_flat_sets. Can be used as a reference type for all reference_flat_sets containing a specific type.

Member Function Documentation

◆ assign()

template<typename T , typename TKeyCompare = etl::less<T>>
template<typename TIterator >
void etl::ireference_flat_set< T, TKeyCompare >::assign ( TIterator  first,
TIterator  last 
)
inline

Assigns values to the reference_flat_set. If asserts or exceptions are enabled, emits reference_flat_set_full if the reference_flat_set does not have enough free space. If asserts or exceptions are enabled, emits reference_flat_set_iterator if the iterators are reversed.

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

◆ available()

template<typename T , typename TKeyCompare = etl::less<T>>
size_t etl::ireference_flat_set< T, TKeyCompare >::available ( ) const
inline

Returns the remaining capacity.

Returns
The remaining capacity.

◆ begin() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::begin ( )
inline

Returns an iterator to the beginning of the reference_flat_set.

Returns
An iterator to the beginning of the reference_flat_set.

◆ begin() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::begin ( ) const
inline

Returns a const_iterator to the beginning of the reference_flat_set.

Returns
A const iterator to the beginning of the reference_flat_set.

◆ capacity()

template<typename T , typename TKeyCompare = etl::less<T>>
size_type etl::ireference_flat_set< T, TKeyCompare >::capacity ( ) const
inline

Returns the capacity of the reference_flat_set.

Returns
The capacity of the reference_flat_set.

◆ cbegin()

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::cbegin ( ) const
inline

Returns a const_iterator to the beginning of the reference_flat_set.

Returns
A const iterator to the beginning of the reference_flat_set.

◆ cend()

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::cend ( ) const
inline

Returns a const_iterator to the end of the reference_flat_set.

Returns
A const iterator to the end of the reference_flat_set.

◆ count()

template<typename T , typename TKeyCompare = etl::less<T>>
size_t etl::ireference_flat_set< T, TKeyCompare >::count ( parameter_t  key) const
inline

Counts an element.

Parameters
keyThe key to search for.
Returns
1 if the key exists, otherwise 0.

◆ crbegin()

template<typename T , typename TKeyCompare = etl::less<T>>
const_reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::crbegin ( ) const
inline

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

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

◆ crend()

template<typename T , typename TKeyCompare = etl::less<T>>
const_reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::crend ( ) const
inline

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

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

◆ empty()

template<typename T , typename TKeyCompare = etl::less<T>>
bool etl::ireference_flat_set< T, TKeyCompare >::empty ( ) const
inline

Checks the 'empty' state of the reference_flat_set.

Returns
true if empty.

◆ end() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::end ( )
inline

Returns an iterator to the end of the reference_flat_set.

Returns
An iterator to the end of the reference_flat_set.

◆ end() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::end ( ) const
inline

Returns a const_iterator to the end of the reference_flat_set.

Returns
A const iterator to the end of the reference_flat_set.

◆ equal_range() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
ETL_OR_STD::pair< iterator, iterator > etl::ireference_flat_set< T, TKeyCompare >::equal_range ( parameter_t  key)
inline

Finds the range of equal elements of a key

Parameters
keyThe key to search for.
Returns
An iterator pair.

◆ equal_range() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
ETL_OR_STD::pair< const_iterator, const_iterator > etl::ireference_flat_set< T, TKeyCompare >::equal_range ( parameter_t  key) const
inline

Finds the range of equal elements of a key

Parameters
keyThe key to search for.
Returns
An iterator pair.

◆ erase() [1/4]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::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.

◆ erase() [2/4]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::erase ( const_iterator  i_element)
inline

Erases an element.

Parameters
i_elementIterator to the element.

◆ erase() [3/4]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::erase ( iterator  i_element)
inline

Erases an element.

Parameters
i_elementIterator to the element.

◆ erase() [4/4]

template<typename T , typename TKeyCompare = etl::less<T>>
size_t etl::ireference_flat_set< T, TKeyCompare >::erase ( parameter_t  key)
inline

Erases an element.

Parameters
keyThe key to erase.
Returns
The number of elements erased. 0 or 1.

◆ find() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::find ( parameter_t  key)
inline

Finds an element.

Parameters
keyThe key to search for.
Returns
An iterator pointing to the element or end() if not found.

◆ find() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::find ( parameter_t  key) const
inline

Finds an element.

Parameters
keyThe key to search for.
Returns
An iterator pointing to the element or end() if not found.

◆ full()

template<typename T , typename TKeyCompare = etl::less<T>>
bool etl::ireference_flat_set< T, TKeyCompare >::full ( ) const
inline

Checks the 'full' state of the reference_flat_set.

Returns
true if full.

◆ insert() [1/3]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::insert ( const_iterator  ,
reference  value 
)
inline

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

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

◆ insert() [2/3]

template<typename T , typename TKeyCompare = etl::less<T>>
ETL_OR_STD::pair< iterator, bool > etl::ireference_flat_set< T, TKeyCompare >::insert ( reference  value)
inline

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

Parameters
valueThe value to insert.

◆ insert() [3/3]

template<typename T , typename TKeyCompare = etl::less<T>>
template<class TIterator >
void etl::ireference_flat_set< T, TKeyCompare >::insert ( TIterator  first,
TIterator  last 
)
inline

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

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

◆ insert_at()

template<typename T , typename TKeyCompare = etl::less<T>>
ETL_OR_STD::pair< iterator, bool > etl::ireference_flat_set< T, TKeyCompare >::insert_at ( iterator  i_element,
reference  value 
)
inlineprotected

Inserts a value to the reference_flat_set.

Parameters
i_elementThe place to insert.
valueThe value to insert.

◆ lower_bound() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::lower_bound ( parameter_t  key)
inline

Finds the lower bound of a key

Parameters
keyThe key to search for.
Returns
An iterator.

◆ lower_bound() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::lower_bound ( parameter_t  key) const
inline

Finds the lower bound of a key

Parameters
keyThe key to search for.
Returns
An iterator.

◆ max_size()

template<typename T , typename TKeyCompare = etl::less<T>>
size_type etl::ireference_flat_set< T, TKeyCompare >::max_size ( ) const
inline

Returns the maximum possible size of the reference_flat_set.

Returns
The maximum size of the reference_flat_set.

◆ rbegin() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::rbegin ( )
inline

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

Returns
Iterator to the reverse beginning of the reference_flat_set.

◆ rbegin() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::rbegin ( ) const
inline

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

Returns
Const iterator to the reverse beginning of the reference_flat_set.

◆ rend() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::rend ( )
inline

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

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

◆ rend() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_reverse_iterator etl::ireference_flat_set< T, TKeyCompare >::rend ( ) const
inline

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

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

◆ size()

template<typename T , typename TKeyCompare = etl::less<T>>
size_type etl::ireference_flat_set< T, TKeyCompare >::size ( ) const
inline

Gets the current size of the reference_flat_set.

Returns
The current size of the reference_flat_set.

◆ upper_bound() [1/2]

template<typename T , typename TKeyCompare = etl::less<T>>
iterator etl::ireference_flat_set< T, TKeyCompare >::upper_bound ( parameter_t  key)
inline

Finds the upper bound of a key

Parameters
keyThe key to search for.
Returns
An iterator.

◆ upper_bound() [2/2]

template<typename T , typename TKeyCompare = etl::less<T>>
const_iterator etl::ireference_flat_set< T, TKeyCompare >::upper_bound ( parameter_t  key) const
inline

Finds the upper bound of a key

Parameters
keyThe key to search for.
Returns
An iterator.

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