191 #ifndef LEGATO_DOUBLY_LINKED_LIST_INCLUDE_GUARD
192 #define LEGATO_DOUBLY_LINKED_LIST_INCLUDE_GUARD
205 typedef struct le_dls_Link
234 #define LE_DLS_LIST_INIT (le_dls_List_t){NULL}
243 #define LE_DLS_LINK_INIT (le_dls_Link_t){NULL, NULL}
484 #endif // LEGATO_DOUBLY_LINKED_LIST_INCLUDE_GUARD
void le_dls_AddAfter(le_dls_List_t *listPtr, le_dls_Link_t *currentLinkPtr, le_dls_Link_t *newLinkPtr)
le_dls_Link_t * le_dls_PeekTail(const le_dls_List_t *listPtr)
Definition: le_doublyLinkedList.h:205
le_dls_Link_t * le_dls_PeekPrev(const le_dls_List_t *listPtr, const le_dls_Link_t *currentLinkPtr)
struct le_dls_Link * nextPtr
Next link pointer.
Definition: le_doublyLinkedList.h:207
bool le_dls_IsListCorrupted(const le_dls_List_t *listPtr)
void le_dls_AddBefore(le_dls_List_t *listPtr, le_dls_Link_t *currentLinkPtr, le_dls_Link_t *newLinkPtr)
void le_dls_Queue(le_dls_List_t *listPtr, le_dls_Link_t *newLinkPtr)
struct le_dls_Link * prevPtr
Previous link pointer.
Definition: le_doublyLinkedList.h:208
le_dls_Link_t * le_dls_PopTail(le_dls_List_t *listPtr)
Definition: le_doublyLinkedList.h:221
le_dls_Link_t * le_dls_Pop(le_dls_List_t *listPtr)
void le_dls_Stack(le_dls_List_t *listPtr, le_dls_Link_t *newLinkPtr)
le_dls_Link_t * headLinkPtr
Link to list head.
Definition: le_doublyLinkedList.h:223
bool le_dls_IsInList(const le_dls_List_t *listPtr, const le_dls_Link_t *linkPtr)
size_t le_dls_NumLinks(const le_dls_List_t *listPtr)
void le_dls_Swap(le_dls_List_t *listPtr, le_dls_Link_t *linkPtr, le_dls_Link_t *otherLinkPtr)
le_dls_Link_t * le_dls_Peek(const le_dls_List_t *listPtr)
static bool le_dls_IsEmpty(const le_dls_List_t *listPtr)
Definition: le_doublyLinkedList.h:380
le_dls_Link_t * le_dls_PeekNext(const le_dls_List_t *listPtr, const le_dls_Link_t *currentLinkPtr)
void le_dls_Remove(le_dls_List_t *listPtr, le_dls_Link_t *linkToRemovePtr)