---
name: "iset"
section: "3pub"
platform: "linux"
package: "publib-dev"
version: "0.40-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/iset"
---

# iset(3pub)

manipulate sets of integers

## NAME

iset\_create, iset\_destroy, iset\_copy, iset\_is\_empty, iset\_add, iset\_add\_range, iset\_remove, iset\_remove\_range, iset\_clear, iset\_contains, iset\_union, iset\_diff, iset\_isect, iset\_range, iset\_nth\_range - manipulate sets of integers

## SYNOPSIS

```
#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);
```

## DESCRIPTION

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.

## SEE ALSO

publib(3), bitarr(3)

## AUTHOR

Lars Wirzenius (lars.wirzenius@helsinki.fi)
