ck_queue: update doc: no tail queue, add STAILQ description

Singly-linked tail queue description is taken from sys/queue.h
ck_pring
Roman Lebedev 9 years ago
parent 42dd531427
commit 1a10ab230e

@ -62,8 +62,8 @@
#include <ck_pr.h> #include <ck_pr.h>
/* /*
* This file defines four types of data structures: singly-linked lists, * This file defines three types of data structures: singly-linked lists,
* singly-linked tail queues, lists and tail queues. * singly-linked tail queues and lists.
* *
* A singly-linked list is headed by a single forward pointer. The elements * A singly-linked list is headed by a single forward pointer. The elements
* are singly linked for minimum space and pointer manipulation overhead at * are singly linked for minimum space and pointer manipulation overhead at
@ -75,6 +75,17 @@
* for applications with large datasets and few or no removals or for * for applications with large datasets and few or no removals or for
* implementing a LIFO queue. * implementing a LIFO queue.
* *
* A singly-linked tail queue is headed by a pair of pointers, one to the
* head of the list and the other to the tail of the list. The elements are
* singly linked for minimum space and pointer manipulation overhead at the
* expense of O(n) removal for arbitrary elements. New elements can be added
* to the list after an existing element, at the head of the list, or at the
* end of the list. Elements being removed from the head of the tail queue
* should use the explicit macro for this purpose for optimum efficiency.
* A singly-linked tail queue may only be traversed in the forward direction.
* Singly-linked tail queues are ideal for applications with large datasets
* and few or no removals or for implementing a FIFO queue.
*
* A list is headed by a single forward pointer (or an array of forward * A list is headed by a single forward pointer (or an array of forward
* pointers for a hash table header). The elements are doubly linked * pointers for a hash table header). The elements are doubly linked
* so that an arbitrary element can be removed without a need to * so that an arbitrary element can be removed without a need to

Loading…
Cancel
Save