scyther/src/list.h

29 lines
851 B
C
Raw Normal View History

2004-08-09 21:15:05 +01:00
#ifndef GENERICLIST
#define GENERICLIST
2006-01-02 21:06:08 +00:00
//! generic list structure node
2004-08-09 21:15:05 +01:00
struct list_struct
{
2006-01-02 21:06:08 +00:00
struct list_struct *next; //!< pointer to next node
struct list_struct *prev; //!< pointer to previous node
void *data; //!< pointer to the actual data element (should be typecast)
2004-08-09 21:15:05 +01:00
};
2006-01-02 21:06:08 +00:00
typedef struct list_struct *List; //!< pointer to generic list node
2004-08-09 21:15:05 +01:00
List list_create (const void *data);
List list_rewind (List list);
List list_forward (List list);
2004-08-09 21:15:05 +01:00
List list_insert (List list, const void *data);
List list_add (List list, const void *data);
List list_append (List list, const void *data);
List list_delete (List list);
int in_list (List list, const void *data);
int list_iterate (List list, int (*func) ());
List list_duplicate (List list);
void list_destroy (List list);
List list_shift (List list, int n);
int list_length (List list);
2004-08-09 21:15:05 +01:00
#endif