Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
intrusive_list_base< TLink > Class Template Reference
Base for intrusive list. More...
#include <intrusive_list.h>
Inherited by intrusive_list< TValue, TLink >.
Public Member Functions | |
template<typename TIterator > | |
void | assign (TIterator first, TIterator last) |
Assigns a range of values to the intrusive_list. | |
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 | |
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 | remove_link (link_type &link) |
Remove a link. | |
void | remove_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. | |
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. |
Detailed Description
template<typename TLink>
class etl::intrusive_list_base< TLink >
Base for intrusive list.
Definition at line 120 of file intrusive_list.h.
Member Function Documentation
void assign | ( | TIterator | first, |
TIterator | last | ||
) |
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.
Definition at line 133 of file intrusive_list.h.
void clear | ( | ) |
Clears the intrusive_list.
Definition at line 195 of file intrusive_list.h.
bool empty | ( | ) | const |
Returns true if the list has no elements.
Definition at line 225 of file intrusive_list.h.
link_type* get_head | ( | ) | [protected] |
Get the head link.
Definition at line 314 of file intrusive_list.h.
const link_type* get_head | ( | ) | const [protected] |
Get the head link.
Definition at line 322 of file intrusive_list.h.
link_type* get_tail | ( | ) | [protected] |
Get the tail link.
Definition at line 330 of file intrusive_list.h.
const link_type* get_tail | ( | ) | const [protected] |
Get the tail link.
Definition at line 338 of file intrusive_list.h.
void initialise | ( | ) | [protected] |
Initialise the intrusive_list.
Definition at line 346 of file intrusive_list.h.
void insert_link | ( | link_type & | previous, |
link_type & | new_link | ||
) | [protected] |
Insert a link.
Definition at line 256 of file intrusive_list.h.
void insert_link | ( | link_type * | previous, |
link_type & | new_link | ||
) | [protected] |
Insert a link.
Definition at line 266 of file intrusive_list.h.
void insert_link | ( | link_type & | previous, |
link_type * | new_link | ||
) | [protected] |
Insert a link.
Definition at line 276 of file intrusive_list.h.
void insert_link | ( | link_type * | previous, |
link_type * | new_link | ||
) | [protected] |
Insert a link.
Definition at line 286 of file intrusive_list.h.
bool is_trivial_list | ( | ) | const [protected] |
Is the intrusive_list a trivial length?
Definition at line 248 of file intrusive_list.h.
void pop_back | ( | ) |
Removes a value from the back of the intrusive_list.
Definition at line 184 of file intrusive_list.h.
void pop_front | ( | ) |
Removes a value from the front of the intrusive_list.
Definition at line 165 of file intrusive_list.h.
void push_back | ( | link_type & | value ) |
Pushes a value to the back of the intrusive_list.
Definition at line 176 of file intrusive_list.h.
void push_front | ( | link_type & | value ) |
Pushes a value to the front of the intrusive_list.
Definition at line 157 of file intrusive_list.h.
void remove_link | ( | link_type & | link ) | [protected] |
Remove a link.
Definition at line 296 of file intrusive_list.h.
void remove_link | ( | link_type * | link ) | [protected] |
Remove a link.
Definition at line 305 of file intrusive_list.h.
void reverse | ( | ) |
Reverses the list.
Definition at line 203 of file intrusive_list.h.
size_t size | ( | ) | const |
Returns the number of elements.
Definition at line 233 of file intrusive_list.h.
Field Documentation
size_t current_size [protected] |
Counts the number of elements in the list.
Definition at line 243 of file intrusive_list.h.
link_type terminal_link [protected] |
The link that acts as the intrusive_list start & end.
Definition at line 241 of file intrusive_list.h.
Generated on Tue Jul 12 2022 14:05:51 by
