~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/key_map.h

  • Committer: Brian Aker
  • Date: 2009-05-03 22:35:33 UTC
  • mfrom: (997.2.26 mordred)
  • Revision ID: brian@gaz-20090503223533-lv7lwqelv08dnv2j
Merge of Monty's code

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_KEY_MAP_H
21
21
#define DRIZZLED_KEY_MAP_H
22
22
 
 
23
#include <drizzled/global.h>
 
24
#include <drizzled/definitions.h>
 
25
 
23
26
#include <bitset>
24
27
 
25
28
/* Used for finding keys */
26
29
#if MAX_INDEXES <= 64
27
 
typedef std::bitset<64>  key_map;
 
30
typedef std::bitset<72> key_map;
28
31
#else
29
32
typedef std::bitset<((MAX_INDEXES+7)/8*8)> key_map;
30
33
#endif
31
34
 
32
 
bool is_subset(const key_map& map, const key_map& map2);
33
 
bool is_prefix(const key_map& map, const uint32_t n);
 
35
/* useful constants */
 
36
extern const key_map key_map_empty;
 
37
extern key_map key_map_full;          /* Should be threaded as const */
 
38
 
 
39
bool is_keymap_prefix(const key_map& map, const uint32_t n);
34
40
bool is_overlapping(const key_map& map, const key_map& map2);
 
41
void set_prefix(key_map& map, const uint32_t n);
 
42
void key_map_subtract(key_map& map1, key_map& map2);
35
43
 
36
44
#endif