Lines Matching +full:- +full:a

3 Double-linked List
6 Similar to the single-linked list in many respects, Zephyr includes a
7 double-linked implementation. This provides the same algorithmic
9 constant-time removal and insertion (at all points: before or after
14 A :c:type:`sys_dlist_t` struct may be instantiated by the user in any
22 Primitive operations may retrieve the head/tail of a list and the
23 next/prev pointers of a node with :c:func:`sys_dlist_peek_head`,
29 A dlist can be modified in constant time by removing a node with
30 :c:func:`sys_dlist_remove`, by adding a node to the head or tail of a list
32 inserting a node before an existing node with :c:func:`sys_dlist_insert`.
34 As for slist, each node in a dlist can be processed in a natural code
36 exists in a "FROM_NODE" form which allows for iterating from a known
37 starting point, a "SAFE" variant that allows for removing the node
38 being inspected within the code block, a "CONTAINER" style that
39 provides the pointer to a containing struct instead of the raw node,
40 and a "CONTAINER_SAFE" variant that provides both properties.
43 :c:func:`sys_dlist_insert_at`, which inserts a node that linearly searches
44 through a list to find the right insertion point, which is provided by
45 the user as a C callback function pointer, and
47 not a node is currently linked into a dlist or not (via an
50 Double-linked List Internals
51 ----------------------------
57 struct is inserted as a node into the list itself. This allows for a
64 prev/next pointers of a node vs. the list struct address.
71 Effectively, a dlist of N nodes can be thought of as a "ring" of "N+1"
77 :figclass: align-center
79 A dlist containing three elements. Note that the list struct
80 appears as a fourth "element" in the list.
82 .. figure:: dlist-single.png
84 :alt: single-element dlist example
85 :figclass: align-center
89 .. figure:: dlist-empty.png
92 :figclass: align-center
97 Doubly-linked List API Reference
98 --------------------------------
100 .. doxygengroup:: doubly-linked-list_apis