diff options
Diffstat (limited to 'src/include/nodes/bitmapset.h')
-rw-r--r-- | src/include/nodes/bitmapset.h | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/src/include/nodes/bitmapset.h b/src/include/nodes/bitmapset.h index 7974c44aae7..6c2e8ac13c5 100644 --- a/src/include/nodes/bitmapset.h +++ b/src/include/nodes/bitmapset.h @@ -13,7 +13,7 @@ * * Copyright (c) 2003, PostgreSQL Global Development Group * - * $Id: bitmapset.h,v 1.2 2003/06/29 23:05:05 tgl Exp $ + * $Id: bitmapset.h,v 1.3 2003/08/04 00:43:31 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -27,12 +27,13 @@ /* The unit size can be adjusted by changing these three declarations: */ #define BITS_PER_BITMAPWORD 32 typedef uint32 bitmapword; /* must be an unsigned type */ -typedef int32 signedbitmapword; /* must be the matching signed type */ +typedef int32 signedbitmapword; /* must be the matching signed type */ -typedef struct Bitmapset { - int nwords; /* number of words in array */ - bitmapword words[1]; /* really [nwords] */ -} Bitmapset; /* VARIABLE LENGTH STRUCT */ +typedef struct Bitmapset +{ + int nwords; /* number of words in array */ + bitmapword words[1]; /* really [nwords] */ +} Bitmapset; /* VARIABLE LENGTH STRUCT */ /* result of bms_membership */ @@ -41,41 +42,42 @@ typedef enum BMS_EMPTY_SET, /* 0 members */ BMS_SINGLETON, /* 1 member */ BMS_MULTIPLE /* >1 member */ -} BMS_Membership; +} BMS_Membership; /* * function prototypes in nodes/bitmapset.c */ -extern Bitmapset *bms_copy(const Bitmapset *a); -extern bool bms_equal(const Bitmapset *a, const Bitmapset *b); +extern Bitmapset *bms_copy(const Bitmapset * a); +extern bool bms_equal(const Bitmapset * a, const Bitmapset * b); extern Bitmapset *bms_make_singleton(int x); -extern void bms_free(Bitmapset *a); +extern void bms_free(Bitmapset * a); + +extern Bitmapset *bms_union(const Bitmapset * a, const Bitmapset * b); +extern Bitmapset *bms_intersect(const Bitmapset * a, const Bitmapset * b); +extern Bitmapset *bms_difference(const Bitmapset * a, const Bitmapset * b); +extern bool bms_is_subset(const Bitmapset * a, const Bitmapset * b); +extern bool bms_is_member(int x, const Bitmapset * a); +extern bool bms_overlap(const Bitmapset * a, const Bitmapset * b); +extern bool bms_nonempty_difference(const Bitmapset * a, const Bitmapset * b); +extern int bms_singleton_member(const Bitmapset * a); +extern int bms_num_members(const Bitmapset * a); -extern Bitmapset *bms_union(const Bitmapset *a, const Bitmapset *b); -extern Bitmapset *bms_intersect(const Bitmapset *a, const Bitmapset *b); -extern Bitmapset *bms_difference(const Bitmapset *a, const Bitmapset *b); -extern bool bms_is_subset(const Bitmapset *a, const Bitmapset *b); -extern bool bms_is_member(int x, const Bitmapset *a); -extern bool bms_overlap(const Bitmapset *a, const Bitmapset *b); -extern bool bms_nonempty_difference(const Bitmapset *a, const Bitmapset *b); -extern int bms_singleton_member(const Bitmapset *a); -extern int bms_num_members(const Bitmapset *a); /* optimized tests when we don't need to know exact membership count: */ -extern BMS_Membership bms_membership(const Bitmapset *a); -extern bool bms_is_empty(const Bitmapset *a); +extern BMS_Membership bms_membership(const Bitmapset * a); +extern bool bms_is_empty(const Bitmapset * a); /* these routines recycle (modify or free) their non-const inputs: */ -extern Bitmapset *bms_add_member(Bitmapset *a, int x); -extern Bitmapset *bms_del_member(Bitmapset *a, int x); -extern Bitmapset *bms_add_members(Bitmapset *a, const Bitmapset *b); -extern Bitmapset *bms_int_members(Bitmapset *a, const Bitmapset *b); -extern Bitmapset *bms_del_members(Bitmapset *a, const Bitmapset *b); -extern Bitmapset *bms_join(Bitmapset *a, Bitmapset *b); +extern Bitmapset *bms_add_member(Bitmapset * a, int x); +extern Bitmapset *bms_del_member(Bitmapset * a, int x); +extern Bitmapset *bms_add_members(Bitmapset * a, const Bitmapset * b); +extern Bitmapset *bms_int_members(Bitmapset * a, const Bitmapset * b); +extern Bitmapset *bms_del_members(Bitmapset * a, const Bitmapset * b); +extern Bitmapset *bms_join(Bitmapset * a, Bitmapset * b); /* support for iterating through the integer elements of a set: */ -extern int bms_first_member(Bitmapset *a); +extern int bms_first_member(Bitmapset * a); #endif /* BITMAPSET_H */ |