List of intrusive nodes.
More...
#include <cmsis-plus/utils/lists.h>
template<typename T, typename N, N T::* MP, typename U = T>
class os::utils::intrusive_list< T, N, MP, U >
List of intrusive nodes.
- Template Parameters
-
T | Type of object that includes the intrusive node. |
N | Type of intrusive node. Must have the public members prev & next. |
MP | Name of the intrusive node member in object T. |
U | Type stored in the list, derived from T. |
- Examples
The core of a double linked list, pointers to next, previous.
Definition at line 720 of file lists.h.
◆ difference_type
template<typename T , typename N , N T::* MP, typename U = T>
◆ iterator
template<typename T , typename N , N T::* MP, typename U = T>
◆ iterator_pointer
template<typename T , typename N , N T::* MP, typename U = T>
Type of reference to the iterator internal pointer.
Definition at line 734 of file lists.h.
◆ pointer
template<typename T , typename N , N T::* MP, typename U = T>
◆ reference
template<typename T , typename N , N T::* MP, typename U = T>
◆ value_type
template<typename T , typename N , N T::* MP, typename U = T>
◆ intrusive_list() [1/2]
template<typename T , typename N , N T::* MP, typename U >
Construct an intrusive list.
Definition at line 1190 of file lists.h.
◆ intrusive_list() [2/2]
template<typename T , typename N , N T::* MP, typename U >
Construct an intrusive list with controlled inits.
- Parameters
-
clr | If true, the list is cleared. |
Definition at line 1197 of file lists.h.
◆ ~intrusive_list()
template<typename T , typename N , N T::* MP, typename U >
Destruct the list.
Definition at line 1207 of file lists.h.
◆ begin()
template<typename T , typename N , N T::* MP, typename U >
Iterator begin.
- Returns
- An iterator positioned at the first element.
- Note
- It is not
const
because it may initialise on first use.
Definition at line 1239 of file lists.h.
◆ clear()
void os::utils::static_double_list::clear |
( |
void |
| ) |
|
|
inherited |
Clear the list.
- Parameters
- None.
- Returns
- Nothing.
Initialise the mandatory node with links to itself.
Definition at line 116 of file lists.cpp.
◆ empty()
bool os::utils::static_double_list::empty |
( |
void |
| ) |
const |
|
inlineinherited |
Check if the list is empty.
- Parameters
- None.
- Return values
-
true | The list has no nodes. |
false | The list has at least one node. |
Definition at line 1049 of file lists.h.
◆ end()
template<typename T , typename N , N T::* MP, typename U >
Iterator begin.
- Returns
- An iterator positioned after the last element.
Definition at line 1252 of file lists.h.
◆ get_pointer()
template<typename T , typename N , N T::* MP, typename U >
◆ head()
Get the list head.
- Parameters
- None.
- Returns
- Pointer to head node.
Definition at line 1056 of file lists.h.
◆ insert_after()
Insert a new node after existing node.
- Parameters
-
node | Reference to node to insert. |
after | Reference to existing node. |
- Returns
- Nothing.
Definition at line 123 of file lists.cpp.
◆ link()
template<typename T , typename N , N T::* MP, typename U >
Add a node to the tail of the list.
- Parameters
-
[in] | node | Reference to a list node. |
- Returns
- Nothing.
Definition at line 1214 of file lists.h.
◆ tail()
Get the list tail.
- Parameters
- None.
- Returns
- Pointer to tail node.
Definition at line 1062 of file lists.h.
◆ uninitialized()
bool os::utils::static_double_list::uninitialized |
( |
void |
| ) |
const |
|
inlineinherited |
Check if the list is uninitialised.
- Parameters
- None.
- Return values
-
true | The list was not initialised. |
false | The list was initialised. |
Definition at line 1042 of file lists.h.
◆ unlink_head()
template<typename T , typename N , N T::* MP, typename U >
Unlink the first element from the list.
- Returns
- Pointer to the first element in the list.
Definition at line 1278 of file lists.h.
◆ unlink_tail()
template<typename T , typename N , N T::* MP, typename U >
Unlink the last element from the list.
- Returns
- Pointer to the last element in the list.
Definition at line 1291 of file lists.h.
◆ head_
A list node used to point to head and tail.
To simplify processing, the list always has a node.
Definition at line 498 of file lists.h.
The documentation for this class was generated from the following file: