65 assert(
prev_ ==
nullptr);
66 #if defined(OS_TRACE_UTILS_LISTS) 72 #if defined(OS_TRACE_UTILS_LISTS) 110 head_.next (const_cast<static_double_list_links*> (&head_));
111 head_.prev (const_cast<static_double_list_links*> (&head_));
118 #if defined(OS_TRACE_UTILS_LISTS) 119 trace::printf (
"%s() n=%p after %p\n", __func__, &node, after);
125 assert(node.
prev () ==
nullptr);
126 assert(node.
next () ==
nullptr);
130 assert(after->
next () !=
nullptr);
149 #if defined(OS_TRACE_UTILS_LISTS_CONSTRUCT) || defined(OS_TRACE_UTILS_LISTS) 162 #if defined(OS_TRACE_UTILS_LISTS_CONSTRUCT) || defined(OS_TRACE_UTILS_LISTS) bool unlinked(void)
Check if the node is unlinked.
static_double_list_links * prev(void) const
Ask for flags to be cleared after read.
double_list()
Construct a list.
Statically allocated core of a double linked list, pointers to next, previous.
static_double_list_links * prev_
Pointer to previous node.
void insert_after(static_double_list_links &node, static_double_list_links *after)
Insert a new node after existing node.
void clear(void)
Clear the list.
static_double_list_links * next_
Pointer to next node.
int printf(const char *format,...)
Write a formatted string to the trace device.
~double_list()
Destruct the list.
static_double_list_links * next(void) const
void unlink(void)
Remove the node from the list.