set.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2013- The University of Notre Dame
00003 This software is distributed under the GNU General Public License.
00004 See the file COPYING for details.
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

Generated on 21 Nov 2016 for cctools by  doxygen 1.6.1