1 /* 2 * integerset.h 3 * In-memory data structure to hold a large set of integers efficiently 4 * 5 * Portions Copyright (c) 2012-2021, PostgreSQL Global Development Group 6 * 7 * src/include/lib/integerset.h 8 */ 9 #ifndef INTEGERSET_H 10 #define INTEGERSET_H 11 12 typedef struct IntegerSet IntegerSet; 13 14 extern IntegerSet *intset_create(void); 15 extern void intset_add_member(IntegerSet *intset, uint64 x); 16 extern bool intset_is_member(IntegerSet *intset, uint64 x); 17 18 extern uint64 intset_num_entries(IntegerSet *intset); 19 extern uint64 intset_memory_usage(IntegerSet *intset); 20 21 extern void intset_begin_iterate(IntegerSet *intset); 22 extern bool intset_iterate_next(IntegerSet *intset, uint64 *next); 23 24 #endif /* INTEGERSET_H */ 25