|
Embedded Template Library 1.0
|
#include <intrusive_list.h>
Public Types | |
| typedef TLink | link_type |
Public Member Functions | |
| template<typename TIterator > | |
| void | assign (TIterator first, TIterator last) |
| void | push_front (link_type &value) |
| Pushes a value to the front of the intrusive_list. | |
| void | pop_front () |
| Removes a value from the front of the intrusive_list. | |
| void | push_back (link_type &value) |
| Pushes a value to the back of the intrusive_list. | |
| void | pop_back () |
| Removes a value from the back of the intrusive_list. | |
| void | clear () |
| Clears the intrusive_list. | |
| void | reverse () |
| Reverses the 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_list_base () | |
| Destructor. | |
| bool | is_trivial_list () const |
| Is the intrusive_list a trivial length? | |
| void | insert_link (link_type &previous, link_type &new_link) |
| Insert a link. | |
| void | insert_link (link_type *previous, link_type &new_link) |
| Insert a link. | |
| void | insert_link (link_type &previous, link_type *new_link) |
| Insert a link. | |
| void | insert_link (link_type *previous, link_type *new_link) |
| Insert a link. | |
| void | disconnect_link (link_type &link) |
| Remove a link. | |
| void | disconnect_link (link_type *link) |
| Remove a link. | |
| link_type * | get_head () |
| Get the head link. | |
| const link_type * | get_head () const |
| Get the head link. | |
| link_type * | get_tail () |
| Get the tail link. | |
| const link_type * | get_tail () const |
| Get the tail link. | |
| void | initialise () |
| Initialise the intrusive_list. | |
| bool | is_link_in_list (link_type &search_link) const |
| Tests if the link is in this list. | |
| link_type * | remove_link (link_type &link) |
| link_type * | remove_link_range (link_type *p_first, link_type *p_last) |
| Removes a range of links. | |
Protected Attributes | |
| link_type | terminal_link |
| The link that acts as the intrusive_list start & end. | |
| size_t | current_size |
| Counts the number of elements in the list. | |
|
inline |
Assigns a range of values to the intrusive_list. If ETL_THROW_EXCEPTIONS & ETL_DEBUG are defined emits a intrusive_list_iterator_exception if the iterators are reversed.
|
inlineprotected |
Remove the specified node from the list. Returns ETL_NULLPTR if the link was not in this list or was the last in the list.