Single-Chained List
[Chained lists]


Data Structures

struct  _slist_node_t
struct  _slist_t

Defines

#define _snode_local_new(_n)   slist_node_t _n = malloc(sizeof(struct _slist_node_t))
#define snode_del   free
#define slist_insert_head(_l, _v)
#define slist_insert_tail(_l, _v)
#define slist_remove_head(_l)
#define slist_forward(_l, _t, _f)
#define slist_flush(_l)

Typedefs

typedef struct
_slist_node_t
slist_node_t
typedef struct _slist_tslist_t

Functions

void slist_init (slist_t)
slist_t slist_new ()
void slist_del (slist_t)


Define Documentation

#define _snode_local_new ( _n   )     slist_node_t _n = malloc(sizeof(struct _slist_node_t))

For internal use only.

#define snode_del   free

For internal use only.

#define slist_insert_head ( _l,
_v   ) 

Value:

do {\
                _snode_local_new(n);\
                n->value=(word_t)(_v);\
                n->next=(_l)->head;\
                if((_l)->tail==NULL) {\
                        (_l)->tail=n;\
                }\
                (_l)->head=n;\
        } while(0)

#define slist_insert_tail ( _l,
_v   ) 

Value:

do {\
                _snode_local_new(n);\
                n->value=(word_t)(_v);\
                n->next=NULL;\
                if((_l)->tail!=NULL) {\
                        (_l)->tail->next=n;\
                } else {\
                        (_l)->head=n;\
                }\
                (_l)->tail=n;\
        } while(0)

#define slist_remove_head ( _l   ) 

Value:

do {\
                slist_node_t n=(_l)->head;\
                (_l)->head = (_l)->head->next;\
                snode_del(n);\
        } while(0)

#define slist_forward ( _l,
_t,
_f   ) 

Value:

do {\
                slist_node_t n=list_head(_l);\
                while(n!=NULL) {\
                        _f(node_value(_t,n));\
                        n=n->next;\
                }\
        } while(0)

#define slist_flush ( _l   ) 

Value:

do {\
                slist_node_t q,n=list_head(_l);\
                while(n!=NULL) {\
                        q=n->next;\
                        free(n);\
                        n=q;\
                }\
        } while(0)


Typedef Documentation

typedef struct _slist_node_t* slist_node_t

typedef struct _slist_t* slist_t


Function Documentation

void slist_init ( slist_t   )  [inline]

slist_t slist_new (  ) 

void slist_del ( slist_t   ) 


Generated on Wed Feb 6 14:46:05 2008 for TinyaML by  doxygen 1.5.3