The core of a double linked list, pointers to next, previous. More...
#include <cmsis-plus/utils/lists.h>
Inheritance diagram for os::utils::double_list_links:Public Member Functions | |
Constructors & Destructor | |
| double_list_links () | |
| Construct a list node (explicitly set to nullptr). | |
| ~double_list_links () | |
| Destruct the node. | |
Public Member Functions | |
| void | unlink (void) |
| Remove the node from the list. | |
| bool | unlinked (void) |
| Check if the node is unlinked. | |
| static_double_list_links * | next (void) const |
| void | next (static_double_list_links *n) |
| static_double_list_links * | prev (void) const |
| void | prev (static_double_list_links *n) |
Protected Attributes | |
Private Member Variables | |
| static_double_list_links * | prev_ |
| Pointer to previous node. | |
| static_double_list_links * | next_ |
| Pointer to next node. | |
|
inline |
Definition at line 860 of file lists.h.
References os::utils::static_double_list_links::next_, and os::utils::static_double_list_links::prev_.
|
inline |
|
inlineinherited |
Definition at line 847 of file lists.h.
References os::utils::static_double_list_links::next_.
|
inlineinherited |
Definition at line 835 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::rtos::internal::waiting_threads_list::begin(), os::rtos::internal::clock_timestamps_list::check_timestamp(), os::utils::static_double_list::clear(), os::utils::static_double_list::empty(), os::utils::static_double_list::head(), and os::utils::static_double_list::insert_after().
|
inlineinherited |
Definition at line 853 of file lists.h.
References os::utils::static_double_list_links::prev_.
|
inlineinherited |
Definition at line 841 of file lists.h.
References os::utils::static_double_list_links::prev_.
Referenced by os::utils::static_double_list::clear(), os::utils::static_double_list::insert_after(), os::rtos::internal::clock_timestamps_list::link(), os::rtos::internal::ready_threads_list::link(), os::rtos::internal::waiting_threads_list::link(), os::rtos::internal::terminated_threads_list::link(), os::utils::static_double_list::tail(), and os::utils::static_double_list::uninitialized().
|
inherited |
Update the neighbours to point to each other, skipping the node.
For more robustness, to prevent unexpected accesses, the links in the removed node are nullified.
Definition at line 59 of file lists.cpp.
References os::utils::static_double_list_links::next_, os::utils::static_double_list_links::prev_, os::trace::printf(), and os::utils::static_double_list_links::unlinked().
Referenced by os::rtos::internal::timeout_thread_node::action(), os::rtos::internal::timer_node::action(), and os_rtos_idle_actions().
|
inlineinherited |
| true | The node is not linked. |
| false | The node is linked to a list. |
Definition at line 829 of file lists.h.
References os::utils::static_double_list_links::next_.
Referenced by os::utils::static_double_list_links::unlink().
|
protectedinherited |
Definition at line 137 of file lists.h.
Referenced by double_list_links(), os::utils::static_double_list_links::next(), os::utils::static_double_list_links::next(), os::utils::static_double_list_links::unlink(), and os::utils::static_double_list_links::unlinked().
|
protectedinherited |
Definition at line 132 of file lists.h.
Referenced by double_list_links(), os::utils::static_double_list_links::prev(), os::utils::static_double_list_links::prev(), and os::utils::static_double_list_links::unlink().