iset_create(3) iset_add,


#include <publib.h>

Iset *iset_create(void);
void iset_destroy(Iset *is);
Iset *iset_copy(const Iset *is);

int iset_is_empty(const Iset *is);
int iset_add(Iset *is, long number);
int iset_add_range(Iset *is, long number1, long number2);
int iset_remove(Iset *is, long number);
int iset_remove_range(Iset *is, long number1, long number2);
void iset_clear(Iset *is);
int iset_contains(const Iset *is, long number);
int iset_union(Iset *is1, const Iset *is2);
int iset_diff(Iset *is1, const Iset *is2);
int iset_isect(Iset *is1, const Iset *is2);
void iset_range(const Iset *is, long *lowest, long *highest);
int iset_nth_range(const Iset *is, long n, long *lo, long *hi);


These functions operate on sets of integers (of type long). You clever people will know how to use them without my help, which saves me from writing a manual page.


Lars Wirzenius ([email protected])