csnip  0.1
Macros
list.h File Reference

Linked Lists. More...

#include <assert.h>
#include <stddef.h>
#include <csnip/preproc.h>
Include dependency graph for list.h:

Go to the source code of this file.

Macros

#define csnip_dlist_Init(head, tail, mprev, mnext)
 Initialize a dlist. More...
 
#define csnip_dlist_IsEmpty(head, tail, mprev, mnext)    ((head) == NULL)
 Check if a list is empty. More...
 
#define csnip_dlist_PushHead(head, tail, mprev, mnext, el)
 Push an element to the head of a dlist.
 
#define csnip_dlist_PopHead(head, tail, mprev, mnext)
 Pop the head of a dlist. More...
 
#define csnip_dlist_PushTail(head, tail, mprev, mnext, el)
 Push an element to the tail of a dlist.
 
#define csnip_dlist_PopTail(head, tail, mprev, mnext)
 Pop from the tail of a dlist. More...
 
#define csnip_dlist_InsertAfter(head, tail, mprev, mnext, loc, el)
 Insert an element after the end of the given location. More...
 
#define csnip_dlist_InsertBefore(head, tail, mprev, mnext, loc, el)
 Insert an element before loc. More...
 
#define csnip_dlist_Remove(head, tail, mprev, mnext, el)
 Remove an element from the list. More...
 
#define CSNIP_DLIST_DECL_FUNCS(scope, prefix, entry_ptr_type, gen_args)
 Declare dlist functions. More...
 
#define CSNIP_DLIST_DEF_FUNCS(scope, prefix, entry_ptr_type, gen_args, phead, ptail, mprev, mnext)
 Define a set of dlist functions. More...
 
#define csnip_slist_Init(head, tail, mnext)
 Initialize an slist. More...
 
#define csnip_slist_PushHead(head, tail, mnext, el)
 Push an element to the head of an slist.
 
#define csnip_slist_PopHead(head, tail, mnext)
 Pop the head of an slist. More...
 
#define csnip_slist_PushTail(head, tail, mnext, el)
 Push an element to the tail of an slist.
 
#define csnip_slist_InsertAfter(head, tail, mnext, loc, el)
 Insert an element after the end of the given location. More...
 
#define CSNIP_SLIST_DECL_FUNCS(scope, prefix, entry_ptr_type, gen_args)
 Declare slist functions. More...
 
#define CSNIP_SLIST_DEF_FUNCS(scope, prefix, entry_ptr_type, gen_args, phead, ptail, mnext)
 Define a set of slist functions. More...