summaryrefslogtreecommitdiffstats
path: root/libcnary/include/iterator.h
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2011-06-13 18:30:37 +0200
committerGravatar Nikias Bassen2011-06-13 18:30:37 +0200
commitc7412d4813ccb994fdd219f421eaba8bb37831dd (patch)
tree5b7f3016ceb337b31afdd62c9fee646f33e8b271 /libcnary/include/iterator.h
parent3277a11f0beedda8b5d65ffccb05fabd4e8ded28 (diff)
downloadlibplist-c7412d4813ccb994fdd219f421eaba8bb37831dd.tar.gz
libplist-c7412d4813ccb994fdd219f421eaba8bb37831dd.tar.bz2
Bundle libcnary for better packaging1.5
Diffstat (limited to 'libcnary/include/iterator.h')
-rw-r--r--libcnary/include/iterator.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/libcnary/include/iterator.h b/libcnary/include/iterator.h
new file mode 100644
index 0000000..debc1c5
--- /dev/null
+++ b/libcnary/include/iterator.h
@@ -0,0 +1,33 @@
+/*
+ * iterator.h
+ *
+ * Created on: Mar 8, 2011
+ * Author: posixninja
+ */
+
+#ifndef ITERATOR_H_
+#define ITERATOR_H_
+
+struct list_t;
+struct object_t;
+
+typedef struct iterator_t {
+ struct object_t*(*next)(struct iterator_t* iterator);
+ int(*bind)(struct iterator_t* iterator, struct list_t* list);
+
+ unsigned int count;
+ unsigned int position;
+
+ struct list_t* list;
+ struct object_t* end;
+ struct object_t* begin;
+ struct object_t* value;
+} iterator_t;
+
+void iterator_destroy(struct iterator_t* iterator);
+struct iterator_t* iterator_create(struct list_t* list);
+
+struct object_t* iterator_next(struct iterator_t* iterator);
+int iterator_bind(struct iterator_t* iterator, struct list_t* list);
+
+#endif /* ITERATOR_H_ */