Singly-Linked List data macros. More...

Macros

#define GOS_SAFE_SLINKED_LIST_UNLIMITED UINT16_MAX
#define GOS_SAFE_SLINKED_LIST_LAST UINT16_MAX
#define GOS_SAFE_SLINKED_LIST_FIRST 0
#define GOS_SAFE_SLINKED_LIST_HEADER (type)   struct type *next

Detailed Description

Singly-Linked List data macros.

Macro Definition Documentation

GOS_SAFE_SLINKED_LIST_FIRST

#define GOS_SAFE_SLINKED_LIST_FIRST   0

First entry in list

This may be used by gos_safe_slinked_list_add_at_index() or gos_safe_slinked_list_remove_at_index() to add/remove at the very beginning of the list

GOS_SAFE_SLINKED_LIST_HEADER

#define GOS_SAFE_SLINKED_LIST_HEADER ( type ) struct type *next

Helper macro to define the entry header

Note
This macro is optional but entries MUST have a next field as the FIRST member in the entry struct.

GOS_SAFE_SLINKED_LIST_LAST

#define GOS_SAFE_SLINKED_LIST_LAST   UINT16_MAX

Last entry in list

This may be used by gos_safe_slinked_list_add_at_index() or gos_safe_slinked_list_remove_at_index() to add/remove at the very end of the list

GOS_SAFE_SLINKED_LIST_UNLIMITED

#define GOS_SAFE_SLINKED_LIST_UNLIMITED   UINT16_MAX

Unlimited list size

This should be used by gos_safe_slinked_list_init() to indicate that the list is unbounded