2
0

integerset.h 716 B

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