PostgreSQL Source Code  git master
integerset.h
Go to the documentation of this file.
1 /*
2  * integerset.h
3  * In-memory data structure to hold a large set of integers efficiently
4  *
5  * Portions Copyright (c) 2012-2020, 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 
22 extern bool intset_iterate_next(IntegerSet *intset, uint64 *next);
23 
24 #endif /* INTEGERSET_H */
Datum intset(PG_FUNCTION_ARGS)
Definition: _int_op.c:179
bool intset_iterate_next(IntegerSet *intset, uint64 *next)
Definition: integerset.c:646
static int32 next
Definition: blutils.c:219
bool intset_is_member(IntegerSet *intset, uint64 x)
Definition: integerset.c:555
IntegerSet * intset_create(void)
Definition: integerset.c:285
uint64 intset_memory_usage(IntegerSet *intset)
Definition: integerset.c:360
uint64 intset_num_entries(IntegerSet *intset)
Definition: integerset.c:351
void intset_add_member(IntegerSet *intset, uint64 x)
Definition: integerset.c:371
void intset_begin_iterate(IntegerSet *intset)
Definition: integerset.c:627