~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_bitmap.h

  • Committer: Monty Taylor
  • Date: 2009-05-24 23:54:21 UTC
  • mfrom: (1014.2.12 kill-malloc)
  • mto: This revision was merged to the branch mainline in revision 1039.
  • Revision ID: mordred@inaugust.com-20090524235421-x5vfss90auzbn896
Merged Monty from lp:~mordred/drizzle/kill-malloc

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
  uint32_t n_bits; /* number of bits occupied by the above */
30
30
  my_bitmap_map last_word_mask;
31
31
  my_bitmap_map *last_word_ptr;
32
 
  /*
33
 
     mutex will be acquired for the duration of each bitmap operation if
34
 
     thread_safe flag in bitmap_init was set.  Otherwise, we optimize by not
35
 
     acquiring the mutex
36
 
   */
37
 
  pthread_mutex_t *mutex;
 
32
  st_bitmap()
 
33
    : bitmap(NULL), n_bits(0), last_word_mask(0), last_word_ptr(NULL) {}
38
34
} MY_BITMAP;
39
35
 
40
36
void create_last_word_mask(MY_BITMAP *map);
41
 
bool bitmap_init(MY_BITMAP *map, my_bitmap_map *buf, uint32_t n_bits,
42
 
                           bool thread_safe);
 
37
bool bitmap_init(MY_BITMAP *map, my_bitmap_map *buf, uint32_t n_bits);
43
38
bool bitmap_is_clear_all(const MY_BITMAP *map);
44
39
bool bitmap_is_prefix(const MY_BITMAP *map, uint32_t prefix_size);
45
40
bool bitmap_is_set_all(const MY_BITMAP *map);
48
43
                                     const MY_BITMAP *map2);
49
44
bool bitmap_test_and_set(MY_BITMAP *map, uint32_t bitmap_bit);
50
45
bool bitmap_test_and_clear(MY_BITMAP *map, uint32_t bitmap_bit);
51
 
bool bitmap_fast_test_and_clear(MY_BITMAP *map, uint32_t bitmap_bit);
52
 
bool bitmap_fast_test_and_set(MY_BITMAP *map, uint32_t bitmap_bit);
53
46
uint32_t bitmap_set_next(MY_BITMAP *map);
54
47
uint32_t bitmap_get_first(const MY_BITMAP *map);
55
48
uint32_t bitmap_get_first_set(const MY_BITMAP *map);
64
57
void bitmap_invert(MY_BITMAP *map);
65
58
void bitmap_copy(MY_BITMAP *map, const MY_BITMAP *map2);
66
59
 
67
 
uint32_t bitmap_lock_set_next(MY_BITMAP *map);
68
 
void bitmap_lock_clear_bit(MY_BITMAP *map, uint32_t bitmap_bit);
69
60
 
70
61
/* Fast, not thread safe, bitmap functions */
71
62
/* This one is a define because it gets used in an array decl */