typedef struct Set Set; #pragma incomplete Set /* See 9fans "new compiler" 2005-01-07 */ /** constructor */ Set *set_new(collectionisequal isequal, collectionhash hash); void set_free(Set *self); void set_free_with(Set *self, functionunary free_each); uint set_size(Set *self); void set_add(Set *self, void *object); bool set_find(Set *self, void **p); bool set_includes(Set *self, void *object); void *set_at(Set *self, void *object); void set_do(Set *self, collectioneach each, void *arg); void set_unary_do(Set *self, functionunary each); /** * @return true if object was removed, false if set doesn't includ the object */ bool set_remove(Set *self, void *object);