22#define __QUEUE_INIT __LLIST_INIT
23#define QUEUE_INIT LLIST_INIT
26#define __INIT_QUEUE __INIT_LLIST
27#define INIT_QUEUE INIT_LLIST
30#define DECLARE_QUEUE DECLARE_LLIST
73 INIT_LLIST(*elements);
static node_t * llist_first(const llist_t *list)
Definition: linked_list.h:168
struct linked_list_node * next
Next item in the list.
Definition: linked_list.h:28
static node_t * llist_last(const llist_t *list)
Definition: linked_list.h:174
#define llist_head(_list)
Definition: linked_list.h:165
static void llist_add_after(node_t *prev, node_t *new)
Insert a new entry into a list.
Definition: linked_list.h:227
struct linked_list_node * prev
Previous item in the list.
Definition: linked_list.h:29
static PURE bool llist_is_empty(const llist_t *list)
Definition: linked_list.h:197
static node_t * llist_pop(llist_t *list)
Pop the first element in a list.
Definition: linked_list.h:278
static void queue_enqueue(queue_t *queue, node_t *new)
Insert the new element as the tail of the queue.
Definition: queue.h:39
static const node_t * queue_peek(const queue_t *queue)
Definition: queue.h:53
static bool queue_is_empty(const queue_t *queue)
Definition: queue.h:33
static void queue_enqueue_all(queue_t *queue, llist_t *elements)
Insert all the elements of a list into a queue.
Definition: queue.h:62
static node_t * queue_dequeue(queue_t *queue)
Pop the head from the queue.
Definition: queue.h:47
llist_t queue_t
A queue instance.
Definition: queue.h:19
The head of a doubly linked list.
Definition: linked_list.h:43
Intrusive doubly-linked list node.
Definition: linked_list.h:27