string_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 STRING_SET_H
00008 #define STRING_SET_H
00009 
00010 #include "int_sizes.h"
00011 #include "hash_table.h"
00012 
00050 struct string_set *string_set_create(int buckets, hash_func_t func);
00051 
00058 struct string_set *string_set_duplicate(struct string_set *s);
00059 
00067 struct string_set *string_set_union(struct string_set *s1, struct string_set *s2);
00068 
00074 void string_set_clear(struct string_set *s);
00075 
00081 void string_set_delete(struct string_set *s);
00082 
00088 int string_set_size(struct string_set *s);
00089 
00099 int string_set_insert(struct string_set *s, const char *element);
00100 
00110 int string_set_insert_string_set(struct string_set *s, struct string_set *s2);
00111 
00116 int string_set_push(struct string_set *h, const char *element);
00117 
00124 int string_set_lookup(struct string_set *s, const char *element);
00125 
00132 int string_set_remove(struct string_set *s, const char *element);
00133 
00138 void *string_set_pop(struct string_set *s);
00139 
00147 void string_set_first_element(struct string_set *s);
00148 
00156 int string_set_next_element(struct string_set *s, char **element);
00157 
00158 #endif

Generated on 17 Sep 2019 for cctools by  doxygen 1.6.1