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.