From c7412d4813ccb994fdd219f421eaba8bb37831dd Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 13 Jun 2011 18:30:37 +0200 Subject: Bundle libcnary for better packaging --- libcnary/include/node_iterator.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 libcnary/include/node_iterator.h (limited to 'libcnary/include/node_iterator.h') diff --git a/libcnary/include/node_iterator.h b/libcnary/include/node_iterator.h new file mode 100644 index 0000000..8f39ceb --- /dev/null +++ b/libcnary/include/node_iterator.h @@ -0,0 +1,39 @@ +/* + * node_iterator.h + * + * Created on: Mar 8, 2011 + * Author: posixninja + */ + +#ifndef NODE_ITERATOR_H_ +#define NODE_ITERATOR_H_ + +#include "iterator.h" +#include "node_list.h" + +// This class implements the abstract iterator class +typedef struct node_iterator_t { + // Super class + struct iterator_t super; + + // Local members + struct node_t*(*next)(struct node_iterator_t* iterator); + int(*bind)(struct node_iterator_t* iterator, struct node_list_t* list); + + unsigned int count; + unsigned int position; + + struct node_list_t* list; + struct node_t* end; + struct node_t* begin; + struct node_t* value; + +} node_iterator_t; + +void node_iterator_destroy(node_iterator_t* iterator); +node_iterator_t* node_iterator_create(node_list_t* list); + +struct node_t* node_iterator_next(struct node_iterator_t* iterator); +int node_iterator_bind(struct node_iterator_t* iterator, struct node_list_t* list); + +#endif /* NODE_ITERATOR_H_ */ -- cgit v1.1-32-gdbae