set.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef SET_H
00008 #define SET_H
00009
00010 #include "int_sizes.h"
00011 #include "list.h"
00012
00049 struct set *set_create(int buckets);
00050
00057 struct set *set_duplicate(struct set *s);
00058
00066 struct set *set_union(struct set *s1, struct set *s2);
00067
00073 void set_clear(struct set *s);
00074
00080 void set_delete(struct set *s);
00081
00087 int set_size(struct set *s);
00088
00098 int set_insert(struct set *s, const void *element);
00099
00109 int set_insert_set(struct set *s, struct set *s2);
00110
00120 int set_insert_list(struct set *s, struct list *l);
00121
00126 int set_push(struct set *h, const void *element);
00127
00134 int set_lookup(struct set *s, void *element);
00135
00142 int set_remove(struct set *s, const void *element);
00143
00148 void *set_pop(struct set *s);
00149
00157 void set_first_element(struct set *s);
00158
00165 void *set_next_element(struct set *s);
00166
00167 #endif