mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 02:01:55 +00:00
Typed lists: shortcut for simple nodes
This commit is contained in:
parent
e077d0e770
commit
6e035a9a8c
@ -147,9 +147,14 @@ static inline void TLIST_NAME(rem_node)(TLIST_LIST_STRUCT *list, TLIST_TYPE *nod
|
|||||||
#error "You should first include lib/tlists.h without requesting a TLIST"
|
#error "You should first include lib/tlists.h without requesting a TLIST"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TLIST_NODE(_name, _type) struct _name##_node { _type *next; _type *prev; }
|
#define TLIST_NODE_CONTENTS(_type) { _type *next; _type *prev; }
|
||||||
|
#define TLIST_NODE(_name, _type) struct _name##_node TLIST_NODE_CONTENTS(_type)
|
||||||
|
#define TLIST_DEFAULT_NODE struct MACRO_CONCAT_AFTER(TLIST_PREFIX,_node) \
|
||||||
|
TLIST_NODE_CONTENTS(TLIST_TYPE) TLIST_ITEM
|
||||||
|
|
||||||
#define TLIST_LIST(_name) struct _name##_list
|
#define TLIST_LIST(_name) struct _name##_list
|
||||||
|
|
||||||
|
|
||||||
/* Use ->first and ->last to access HEAD and TAIL */
|
/* Use ->first and ->last to access HEAD and TAIL */
|
||||||
#define THEAD(_name, _list) (_list)->first
|
#define THEAD(_name, _list) (_list)->first
|
||||||
#define TTAIL(_name, _list) (_list)->last
|
#define TTAIL(_name, _list) (_list)->last
|
||||||
|
Loading…
Reference in New Issue
Block a user