63
63
void subtract(Bitmap& map2) { bitmap_subtract(&map, &map2.map); }
64
64
void merge(Bitmap& map2) { bitmap_union(&map, &map2.map); }
65
my_bool is_set(uint n) const { return bitmap_is_set(&map, n); }
66
my_bool is_set() const { return !bitmap_is_clear_all(&map); }
67
my_bool is_prefix(uint n) const { return bitmap_is_prefix(&map, n); }
68
my_bool is_clear_all() const { return bitmap_is_clear_all(&map); }
69
my_bool is_set_all() const { return bitmap_is_set_all(&map); }
70
my_bool is_subset(const Bitmap& map2) const { return bitmap_is_subset(&map, &map2.map); }
71
my_bool is_overlapping(const Bitmap& map2) const { return bitmap_is_overlapping(&map, &map2.map); }
72
my_bool operator==(const Bitmap& map2) const { return bitmap_cmp(&map, &map2.map); }
73
my_bool operator!=(const Bitmap& map2) const { return !bitmap_cmp(&map, &map2.map); }
65
bool is_set(uint n) const { return bitmap_is_set(&map, n); }
66
bool is_set() const { return !bitmap_is_clear_all(&map); }
67
bool is_prefix(uint n) const { return bitmap_is_prefix(&map, n); }
68
bool is_clear_all() const { return bitmap_is_clear_all(&map); }
69
bool is_set_all() const { return bitmap_is_set_all(&map); }
70
bool is_subset(const Bitmap& map2) const { return bitmap_is_subset(&map, &map2.map); }
71
bool is_overlapping(const Bitmap& map2) const { return bitmap_is_overlapping(&map, &map2.map); }
72
bool operator==(const Bitmap& map2) const { return bitmap_cmp(&map, &map2.map); }
73
bool operator!=(const Bitmap& map2) const { return !bitmap_cmp(&map, &map2.map); }
74
74
Bitmap operator&=(uint n)
76
76
if (bitmap_is_set(&map, n))
177
177
void intersect_extended(uint64_t map2) { map&= map2; }
178
178
void subtract(Bitmap<64>& map2) { map&= ~map2.map; }
179
179
void merge(Bitmap<64>& map2) { map|= map2.map; }
180
my_bool is_set(uint n) const { return test(map & (((uint64_t)1) << n)); }
181
my_bool is_prefix(uint n) const { return map == (((uint64_t)1) << n)-1; }
182
my_bool is_clear_all() const { return map == (uint64_t)0; }
183
my_bool is_set_all() const { return map == ~(uint64_t)0; }
184
my_bool is_subset(const Bitmap<64>& map2) const { return !(map & ~map2.map); }
185
my_bool is_overlapping(const Bitmap<64>& map2) const { return (map & map2.map)!= 0; }
186
my_bool operator==(const Bitmap<64>& map2) const { return map == map2.map; }
180
bool is_set(uint n) const { return test(map & (((uint64_t)1) << n)); }
181
bool is_prefix(uint n) const { return map == (((uint64_t)1) << n)-1; }
182
bool is_clear_all() const { return map == (uint64_t)0; }
183
bool is_set_all() const { return map == ~(uint64_t)0; }
184
bool is_subset(const Bitmap<64>& map2) const { return !(map & ~map2.map); }
185
bool is_overlapping(const Bitmap<64>& map2) const { return (map & map2.map)!= 0; }
186
bool operator==(const Bitmap<64>& map2) const { return map == map2.map; }
187
187
char *print(char *buf) const { int64_t2str(map,buf,16); return buf; }
188
188
uint64_t to_uint64_t() const { return map; }