µOS++ IIIe Reference  v6.3.15
“Perfekt ist nicht gut genug”
The third edition of µOS++, a POSIX inspired open source system, written in C++.
os::rtos::internal::waiting_thread_node Class Reference

Double linked list node, with thread reference. More...

#include <os-lists.h>

Inherits os::utils::double_list_links.

Public Member Functions

Constructors & Destructor
 waiting_thread_node (thread &th)
 Construct a node with references to the thread. More...
 
 ~waiting_thread_node ()
 Destruct the node. More...
 
Public Member Functions
void unlink (void)
 Remove the node from the list. More...
 
bool unlinked (void)
 Check if the node is unlinked. More...
 
static_double_list_linksnext (void) const
 
void next (static_double_list_links *n)
 
static_double_list_linksprev (void) const
 
void prev (static_double_list_links *n)
 

Public Attributes

Public Member Variables
rtos::threadthread_
 Pointer to waiting thread. More...
 

Protected Attributes

Private Member Variables
static_double_list_linksprev_
 Pointer to previous node. More...
 
static_double_list_linksnext_
 Pointer to next node. More...
 

Detailed Description

Double linked list node, with thread reference.

Definition at line 58 of file os-lists.h.

Constructor & Destructor Documentation

◆ waiting_thread_node()

os::rtos::internal::waiting_thread_node::waiting_thread_node ( rtos::thread th)
inline

Construct a node with references to the thread.

Parameters
thReference to the thread.

Definition at line 861 of file os-lists.h.

◆ ~waiting_thread_node()

os::rtos::internal::waiting_thread_node::~waiting_thread_node ( )
inline

Destruct the node.

Definition at line 868 of file os-lists.h.

Member Function Documentation

◆ next() [1/2]

static_double_list_links * os::utils::static_double_list_links::next ( void  ) const
inlineinherited

Definition at line 853 of file lists.h.

◆ next() [2/2]

void os::utils::static_double_list_links::next ( static_double_list_links n)
inlineinherited

Definition at line 865 of file lists.h.

◆ prev() [1/2]

static_double_list_links * os::utils::static_double_list_links::prev ( void  ) const
inlineinherited

Definition at line 859 of file lists.h.

◆ prev() [2/2]

void os::utils::static_double_list_links::prev ( static_double_list_links n)
inlineinherited

Definition at line 871 of file lists.h.

◆ unlink()

void os::utils::static_double_list_links::unlink ( void  )
inherited

Remove the node from the list.

Returns
Nothing.

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 60 of file lists.cpp.

◆ unlinked()

bool os::utils::static_double_list_links::unlinked ( void  )
inlineinherited

Check if the node is unlinked.

Return values
trueThe node is not linked.
falseThe node is linked to a list.

Definition at line 847 of file lists.h.

Member Data Documentation

◆ next_

static_double_list_links* os::utils::static_double_list_links::next_
protectedinherited

Pointer to next node.

Definition at line 142 of file lists.h.

◆ prev_

static_double_list_links* os::utils::static_double_list_links::prev_
protectedinherited

Pointer to previous node.

Definition at line 137 of file lists.h.

◆ thread_

rtos::thread* os::rtos::internal::waiting_thread_node::thread_

Pointer to waiting thread.

Definition at line 107 of file os-lists.h.


The documentation for this class was generated from the following file: