~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/key_map.h

Merged from Toru - removal of my_time_t.

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/definitions.h>
24
 
 
25
23
#include <bitset>
26
24
 
27
 
#include <drizzled/visibility.h>
28
 
 
29
 
namespace drizzled
30
 
{
31
 
 
32
25
/* Used for finding keys */
33
26
#if MAX_INDEXES <= 64
34
 
typedef std::bitset<72> key_map;
 
27
typedef std::bitset<64>  key_map;
35
28
#else
36
29
typedef std::bitset<((MAX_INDEXES+7)/8*8)> key_map;
37
30
#endif
38
31
 
39
 
/* useful constants */
40
 
extern const key_map key_map_empty;
41
 
extern DRIZZLED_API key_map key_map_full;          /* Should be threaded as const */
42
 
 
43
 
bool is_keymap_prefix(const key_map& map, const uint32_t n);
 
32
bool is_subset(const key_map& map, const key_map& map2);
 
33
bool is_prefix(const key_map& map, const uint32_t n);
44
34
bool is_overlapping(const key_map& map, const key_map& map2);
45
 
void set_prefix(key_map& map, const uint32_t n);
46
 
void key_map_subtract(key_map& map1, key_map& map2);
47
 
 
48
 
} /* namespace drizzled */
49
 
 
50
 
#endif /* DRIZZLED_KEY_MAP_H */
 
35
 
 
36
#endif