The double_list_links Class Reference
A class for the core of a doubly linked list (pointers to neighbours). More...
Fully Qualified Name
micro_os_plus::utils::double_list_links
Included Headers
#include <micro-os-plus/utils/lists.h>
Base class
class | |
A base class for a doubly linked list. More... | |
Member Typedefs
using | is_statically_allocated = std::false_type |
Type indicating that the links node is not statically allocated. More... | |
Member Functions
constexpr | |
Construct a list node (initialise the pointers). More... | |
constexpr | |
Destruct the node. More... | |
void | initialize (void) |
Initialise the node links. More... | |
void | initialize_once (void) |
Initialize the list only at first run. More... | |
void | link_next (double_list_links_base *node) |
Link the new node as next. More... | |
void | link_previous (double_list_links_base *node) |
Link the new node as previous. More... | |
bool | linked (void) const |
Check if the node is linked to a double list. More... | |
next (void) const | |
Get the link to the next node. More... | |
previous (void) const | |
Get the link to the previous node. More... | |
bool | uninitialized (void) const |
Check if the node is uninitialised. More... | |
void | unlink (void) |
Remove this node from the list. More... | |
Protected Member Attributes
Pointer to the next node. More... | |
Pointer to the previous node. More... | |
Description
The pair of pointers to the next and previous list elements and the methods to access the pointers are inherited from the base class.
The constructor initialises the pointers to an empty list (both pointers point to the node).
Definition at line 250 of file lists.h.
Constructors
double_list_links()
| constexpr |
Destructor
~double_list_links()
| constexpr |
Member Functions
initialize()
| constexpr |
initialize_once()
|
Initialize the list only at first run.
- Parameters
None.
- Returns
Nothing.
If the statically allocated list is still in the initial uninitialised state (with both pointers nullptr
), initialise the list to the empty state, with both pointers pointing to itself.
For non-statically initialised lists, this method is ineffective, since the node is always initialised at construct time.
This method must be manually called for statically allocated list before inserting elements, or performing any other operations.
link_next()
|
link_previous()
|
linked()
|
next()
| constexpr |
previous()
| constexpr |
uninitialized()
|
Check if the node is uninitialised.
- Parameters
None.
- Return Values
true The links are not initialised. false The links are initialised.
An uninitialized node is a node with the pointers set to nullptr
.
Only statically allocated nodes in the initial state are uninitialized. Regular nodes are always initialised.
unlink()
|
Protected Member Attributes
next_
| protected |
previous_
Generated via docusaurus-plugin-doxygen by Doxygen 1.13.2