|
libGimbal 0.1.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
|
#include <gimbal_doubly_linked_list.h>

Data Fields | ||
| union { | ||
| struct GblDoublyLinkedListNode * pNext | ||
| GblLinkedListNode singleNode | ||
| }; | ||
| struct GblDoublyLinkedListNode * | pPrev | |
Intrustive doubly linked list structure with vector-style API.
GblDoublyLinkedListNode is the low-level API around managing manually allocated, intrusive linked list structures with the list nodes embedded within their containing structures.
| Operation | Time Complexity |
|---|---|
| iteration | O(N) |
| insertion/removal (middle) | O(N) |
| insertion/removal (front or back) | O(1) |
| access (front or back) | O(1) |
| random access (middle) | O(N) |
Definition at line 50 of file gimbal_doubly_linked_list.h.
| struct GblDoublyLinkedListNode* GblDoublyLinkedListNode::pNext |
Definition at line 52 of file gimbal_doubly_linked_list.h.
| GblLinkedListNode GblDoublyLinkedListNode::singleNode |
Definition at line 53 of file gimbal_doubly_linked_list.h.
| struct GblDoublyLinkedListNode* GblDoublyLinkedListNode::pPrev |
Definition at line 55 of file gimbal_doubly_linked_list.h.