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

Template deduction guides. More...

#include <forward_list.h>

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::iforward_list< T >::data_node_t pool_type
Public Types inherited from etl::iforward_list< T >
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< iterator >::difference_type difference_type
Public Types inherited from etl::forward_list_base
typedef size_t size_type
 The type used for determining the size of forward_list.

Public Member Functions

 forward_list_ext ()
 Default constructor.
 forward_list_ext (etl::ipool &node_pool)
 Default constructor.
 forward_list_ext (size_t initial_size, etl::ipool &node_pool)
 Construct from size.
 forward_list_ext (size_t initial_size, const T &value, etl::ipool &node_pool)
 Construct from size and value.
 forward_list_ext (const forward_list_ext &other)
 Copy constructor. Implicit pool.
 forward_list_ext (const forward_list_ext &other, etl::ipool &node_pool)
 Copy constructor. Explicit pool.
template<typename TIterator>
 forward_list_ext (TIterator first, TIterator last, etl::ipool &node_pool, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
 Construct from range.
 ~forward_list_ext ()
 Destructor.
forward_list_extoperator= (const forward_list_ext &rhs)
 Assignment operator.
void set_pool (etl::ipool &pool)
 Set the pool instance.
etl::ipoolget_pool () const
 Get the pool instance.
Public Member Functions inherited from etl::iforward_list< T >
iterator begin ()
 Gets the beginning of the forward_list.
const_iterator begin () const
 Gets the beginning of the forward_list.
iterator before_begin ()
 Gets before the beginning of the forward_list.
const_iterator before_begin () const
 Gets before the beginning of the forward_list.
const_iterator cbegin () const
 Gets the beginning of the forward_list.
iterator end ()
 Gets the end of the forward_list.
const_iterator end () const
 Gets the end of the forward_list.
const_iterator cend () const
 Gets the end of the forward_list.
void clear ()
 Clears the forward_list.
reference front ()
 Gets a reference to the first element.
const_reference front () const
 Gets a const reference to the first element.
template<typename TIterator>
void assign (TIterator first, TIterator last, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
void assign (size_t n, const T &value)
 Assigns 'n' copies of a value to the forward_list.
void push_front (const T &value)
 Pushes a value to the front of the forward_list.
reference emplace_front ()
 Emplaces a value to the front of the list..
template<typename T1>
reference emplace_front (const T1 &value1)
 Emplaces a value to the front of the list..
template<typename T1, typename T2>
reference emplace_front (const T1 &value1, const T2 &value2)
 Emplaces a value to the front of the list..
template<typename T1, typename T2, typename T3>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3)
 Emplaces a value to the front of the list..
template<typename T1, typename T2, typename T3, typename T4>
reference emplace_front (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
 Emplaces a value to the front of the list..
void pop_front ()
 Removes a value from the front of the forward_list.
void resize (size_t n)
 Resizes the forward_list.
void resize (size_t n, T value)
iterator insert_after (const_iterator position, const T &value)
 Inserts a value to the forward_list after the specified position.
iterator emplace_after (const_iterator position)
 Emplaces a value to the forward_list after the specified position.
template<typename T1>
iterator emplace_after (const_iterator position, const T1 &value1)
 Emplaces a value to the forward_list after the specified position.
template<typename T1, typename T2>
iterator emplace_after (const_iterator position, const T1 &value1, const T2 &value2)
 Emplaces a value to the forward_list after the specified position.
template<typename T1, typename T2, typename T3>
iterator emplace_after (const_iterator position, const T1 &value1, const T2 &value2, const T3 &value3)
 Emplaces a value to the forward_list after the specified position.
template<typename T1, typename T2, typename T3, typename T4>
iterator emplace_after (const_iterator position, const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4)
 Emplaces a value to the forward_list after the specified position.
iterator insert_after (const_iterator position, size_t n, const T &value)
 Inserts 'n' copies of a value to the forward_list after the specified position.
template<typename TIterator>
iterator insert_after (const_iterator position, TIterator first, TIterator last, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
 Inserts a range of values to the forward_list after the specified position.
iterator erase_after (iterator position)
 Erases the value at the specified position.
iterator erase_after (const_iterator position)
 Erases the value at the specified position.
iterator erase_after (const_iterator first, const_iterator last)
 Erases a range of elements.
void move_after (const_iterator from_before, const_iterator to_before)
void move_after (const_iterator first_before, const_iterator last, const_iterator to_before)
void unique ()
template<typename TIsEqual>
void unique (TIsEqual isEqual)
void sort ()
template<typename TCompare>
void sort (TCompare compare)
void remove (const T &value)
template<typename TPredicate>
void remove_if (TPredicate predicate)
 Removes according to a predicate.
iforward_listoperator= (const iforward_list &rhs)
 Assignment operator.
Public Member Functions inherited from etl::forward_list_base
bool has_shared_pool () const
 true if the list has a shared pool.
size_type max_size () const
 Gets the maximum possible size of the forward_list.
size_type capacity () const
 Gets the maximum possible size of the forward_list.
size_type size () const
 Gets the size of the forward_list.
bool empty () const
 Checks to see if the forward_list is empty.
bool full () const
 Checks to see if the forward_list is full.
size_t available () const
void reverse ()
 Reverses the forward_list.

Additional Inherited Members

Protected Member Functions inherited from etl::iforward_list< T >
 iforward_list (bool pool_is_shared_)
 Constructor.
 iforward_list (etl::ipool &node_pool, size_t max_size_, bool pool_is_shared_)
 Constructor.
void initialise ()
 Initialise the forward_list.
data_node_tallocate_data_node (const_reference value)
 Allocate a data_node_t.
 ~iforward_list ()
 Destructor.
Protected Member Functions inherited from etl::forward_list_base
 forward_list_base (bool pool_is_shared_)
 The constructor that is called from derived classes.
 forward_list_base (etl::ipool &node_pool_, size_type max_size_, bool pool_is_shared_)
 The constructor that is called from derived classes.
 ~forward_list_base ()
 Destructor.
node_tget_head ()
 Get the head node.
const node_tget_head () const
 Get the head node.
void insert_node_after (node_t &position, node_t &node)
 Insert a node.
bool is_trivial_list () const
 Is the forward_list a trivial length?
void join (node_t *left, node_t *right)
 Join two nodes.
void set_node_pool (etl::ipool &node_pool_)
 Set the node pool instance.
etl::ipoolget_node_pool ()
 Get the node pool instance.
Protected Attributes inherited from etl::forward_list_base
node_t start_node
 The node that acts as the forward_list start.
etl::ipoolp_node_pool
 The pool of data nodes used in the list.
size_type MAX_SIZE
 The maximum size of the forward_list.
bool pool_is_shared
 If true then the pool is shared between lists.
 ETL_DECLARE_DEBUG_COUNT
 Internal debugging.

Detailed Description

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

Template deduction guides.

Make A templated forward_list implementation that uses a fixed size pool.

Note
'merge' and 'splice_after' and are not supported.

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