]>
Commit | Line | Data |
---|---|---|
1 | #ifndef __INTSET_H | |
2 | #define __INTSET_H | |
3 | #include <stdint.h> | |
4 | ||
5 | typedef struct intset { | |
6 | uint32_t encoding; | |
7 | uint32_t length; | |
8 | int8_t contents[]; | |
9 | } intset; | |
10 | ||
11 | intset *intsetNew(void); | |
12 | intset *intsetAdd(intset *is, int64_t value, uint8_t *success); | |
13 | intset *intsetRemove(intset *is, int64_t value, int *success); | |
14 | uint8_t intsetFind(intset *is, int64_t value); | |
15 | int64_t intsetRandom(intset *is); | |
16 | uint8_t intsetGet(intset *is, uint32_t pos, int64_t *value); | |
17 | uint32_t intsetLen(intset *is); | |
18 | size_t intsetBlobLen(intset *is); | |
19 | ||
20 | #endif // __INTSET_H |