view List.h @ 2:803d6bf22e6d default tip

second commit. it's far to complete..
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Dec 2009 16:19:56 +0900
parents 5b089096921f
children
line wrap: on
line source

#ifndef _LIST_H
#define _LIST_H

typedef struct _List {
	void *data;
	struct _List *next;
	struct _List *prev;
} List;

typedef struct _ListIter {
	struct _List *head;
	struct _List *next;
} ListIter;

List * _listAddFirst(List*, void *);
List * _listRemove(List *, void *);
void * _listGetnthData(List *, int);
void * _listGetLastData(List *);
List * _listMoveLasttoFirst(List *);

typedef int (*ApplyFn)(void*,void*);
void _listApply(List *, ApplyFn, void *);


ListIter * _listIterator(List *);
void * _listIterNext(ListIter *);
void _listIterEnd(ListIter *);
List * _listIterRemoveCurrent(ListIter *);


#endif /* !_LIST_H */