172 #ifndef LEGATO_SINGLY_LINKED_LIST_INCLUDE_GUARD 173 #define LEGATO_SINGLY_LINKED_LIST_INCLUDE_GUARD 186 typedef struct le_sls_Link
224 #define LE_SLS_LIST_DECL_INIT {NULL} 232 #define LE_SLS_LIST_INIT (le_sls_List_t)LE_SLS_LIST_DECL_INIT 241 #define LE_SLS_LINK_INIT (le_sls_Link_t){NULL} 481 #define LE_SLS_FOREACH(listPtr, iteratorPtr, type, member) \ 482 for ((iteratorPtr) = CONTAINER_OF(le_sls_Peek(listPtr), type, member); \ 483 &((iteratorPtr)->member); \ 484 (iteratorPtr) = CONTAINER_OF(le_sls_PeekNext((listPtr),&((iteratorPtr)->member)), \ 489 #endif // LEGATO_SINGLY_LINKED_LIST_INCLUDE_GUARD bool le_sls_IsListCorrupted(const le_sls_List_t *listPtr)
Definition: le_singlyLinkedList.h:201
LE_DECLARE_INLINE bool le_sls_IsEmpty(const le_sls_List_t *listPtr)
Definition: le_singlyLinkedList.h:374
size_t le_sls_NumLinks(const le_sls_List_t *listPtr)
le_sls_Link_t * le_sls_RemoveAfter(le_sls_List_t *listPtr, le_sls_Link_t *currentLinkPtr)
Definition: le_singlyLinkedList.h:186
le_sls_Link_t * le_sls_PeekTail(const le_sls_List_t *listPtr)
le_sls_Link_t * le_sls_Peek(const le_sls_List_t *listPtr)
void le_sls_Sort(le_sls_List_t *listPtr, le_sls_LessThanFunc_t comparatorPtr)
LE_DECLARE_INLINE bool le_sls_IsHead(const le_sls_List_t *listPtr, const le_sls_Link_t *linkPtr)
Definition: le_singlyLinkedList.h:420
void le_sls_Stack(le_sls_List_t *listPtr, le_sls_Link_t *newLinkPtr)
#define LE_DECLARE_INLINE
Definition: le_basics.h:330
void le_sls_AddAfter(le_sls_List_t *listPtr, le_sls_Link_t *currentLinkPtr, le_sls_Link_t *newLinkPtr)
le_sls_Link_t * le_sls_Pop(le_sls_List_t *listPtr)
LE_DECLARE_INLINE bool le_sls_IsTail(const le_sls_List_t *listPtr, const le_sls_Link_t *linkPtr)
Definition: le_singlyLinkedList.h:439
struct le_sls_Link * nextPtr
Next link pointer.
Definition: le_singlyLinkedList.h:188
le_sls_Link_t * le_sls_PeekNext(const le_sls_List_t *listPtr, const le_sls_Link_t *currentLinkPtr)
bool le_sls_IsInList(const le_sls_List_t *listPtr, const le_sls_Link_t *linkPtr)
void le_sls_Queue(le_sls_List_t *listPtr, le_sls_Link_t *newLinkPtr)
le_sls_Link_t * tailLinkPtr
Tail link pointer.
Definition: le_singlyLinkedList.h:203
bool(* le_sls_LessThanFunc_t)(le_sls_Link_t *a, le_sls_Link_t *b)
Definition: le_singlyLinkedList.h:215