Embedded Template Library 1.0
|
#include <intrusive_forward_list.h>
Public Types | |
typedef TLink | link_type |
Public Member Functions | |
void | clear () |
Clears the intrusive_forward_list. | |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
void | push_front (link_type &value) |
Pushes a value to the front of the intrusive_forward_list. | |
void | pop_front () |
Removes a value from the front of the intrusive_forward_list. | |
void | reverse () |
Reverses the intrusive_forward_list. | |
bool | empty () const |
Returns true if the list has no elements. | |
size_t | size () const |
Returns the number of elements. | |
Protected Member Functions | |
intrusive_forward_list_base () | |
Constructor. | |
~intrusive_forward_list_base () | |
Destructor. | |
bool | is_trivial_list () const |
Is the intrusive_forward_list a trivial length? | |
void | insert_link_after (link_type &position, link_type &link) |
Insert a link. | |
void | disconnect_link_after (link_type &link) |
Remove a link. | |
link_type * | get_head () |
Get the head link. | |
const link_type * | get_head () const |
Get the head link. | |
void | initialise () |
Initialise the intrusive_forward_list. | |
link_type * | is_link_in_list (link_type &search_link) |
link_type * | remove_link (link_type &link) |
link_type * | remove_link_range_after (link_type *p_first, link_type *p_last) |
Remove a range of elements. | |
Protected Attributes | |
link_type | start |
The link pointer that acts as the intrusive_forward_list start. | |
size_t | current_size |
Counts the number of elements in the list. | |
Static Protected Attributes | |
static link_type | terminator |
The link that acts as the intrusive_forward_list terminator. | |
Base for intrusive forward list.
|
inline |
Assigns a range of values to the intrusive_forward_list. If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined throws forward_list_iterator if the iterators are reversed.
|
inlineprotected |
Tests if the link is in this list. Returns the previous link to it, if found, otherwise ETL_NULLPTR.
|
inlineprotected |
Remove the specified node from the list. Returns ETL_NULLPTR if the link was not in this list. Returns the next