Go to the documentation of this file.00001
00011 #ifndef HLIST_H
00012 #define HLIST_H
00013
00014 #include "hstructures.h"
00015
00021 int hlist_size(struct hlist* list);
00022
00028 void* hlelement_get_data(struct hlelement* element);
00029
00036 int hlelement_set_data(struct hlelement* element, void* data);
00037
00043 struct hlelement* hlelement_get_prev(struct hlelement* element);
00044
00050 struct hlelement* hlelement_get_next(struct hlelement* element);
00051
00056 struct hlist* hlist_create();
00057
00064 struct hlelement* hlist_enqueue(struct hlist* list, void* data_element);
00065
00073 struct hlelement* hlist_insert_after(struct hlist* list, struct hlelement* element, void* data_element);
00074
00082 struct hlelement* hlist_insert_before(struct hlist* list, struct hlelement* element, void* data_element);
00083
00090 void* hlelement_remove(struct hlelement* element, struct hlist* list);
00091
00097 struct hlorphan* hlorphan_create(void* data_element);
00098
00104 struct hlorphan* hlorphan_get_next(struct hlorphan* orphan);
00105
00112 int hlorphan_set_next(struct hlorphan* orphan, struct hlorphan* next);
00113
00119 struct hlorphan* hlorphan_get_prev(struct hlorphan* orphan);
00120
00127 int hlorphan_set_prev(struct hlorphan* orphan, struct hlorphan* prev);
00128
00134 void* hlorphan_get_data(struct hlorphan* orphan);
00135
00141 void* hlist_dequeue(struct hlist* list);
00142
00151 int hlist_remove(struct hlist* list);
00152
00158 struct hlelement* hlist_get_first(struct hlist* list);
00159
00165 struct hlelement* hlist_get_last(struct hlist* list);
00166
00167 #endif
00168