|
#define | KB_MAX_DEPTH 64 |
|
#define | __KB_KEY(type, x) (x->key) |
|
#define | __KB_PTR(btr, x) (x->ptr) |
|
#define | __KB_TREE_T(name, key_t, T) |
|
#define | __kb_destroy(kbnode_t, b) |
|
#define | __KB_GET_AUX1(name, key_t, kbnode_t, __cmp) |
|
#define | __KB_GET(name, key_t, kbnode_t) |
|
#define | __KB_INTERVAL(name, key_t, kbnode_t) |
|
#define | __KB_PUT(name, key_t, kbnode_t, __cmp, T, ILEN) |
|
#define | __KB_DEL(name, key_t, kbnode_t, T) |
|
#define | __KB_ITR(name, key_t, kbnode_t) |
|
#define | KBTREE_INIT(name, key_t, __cmp, T) |
|
#define | KBTREE_INIT_IMPL(name, key_t, kbnode_t, __cmp, T, ILEN) |
|
#define | KB_DEFAULT_SIZE 512 |
|
#define | kbtree_t(name) kbtree_##name##_t |
|
#define | kbitr_t(name) kbitr_##name##_t |
|
#define | kb_init(b) ((b)->n_keys = (b)->n_nodes = 0, (b)->root = 0) |
|
#define | kb_destroy(name, b) __kb_destroy(kbnode_##name##_t, b) |
|
#define | kb_get(name, b, k) kb_get_##name(b, k) |
|
#define | kb_put(name, b, k) kb_put_##name(b, k) |
|
#define | kb_del(name, b, k) kb_del_##name(b, k) |
|
#define | kb_interval(name, b, k, l, u) kb_interval_##name(b, k, l, u) |
|
#define | kb_getp(name, b, k) kb_getp_##name(b, k) |
|
#define | kb_putp(name, b, k) kb_putp_##name(b, k) |
|
#define | kb_delp(name, b, k) kb_delp_##name(b, k) |
|
#define | kb_intervalp(name, b, k, l, u) kb_intervalp_##name(b, k, l, u) |
|
#define | kb_itr_first(name, b, i) kb_itr_first_##name(b, i) |
|
#define | kb_itr_get(name, b, k, i) kb_itr_get_##name(b, k, i) |
|
#define | kb_itr_getp(name, b, k, i) kb_itr_getp_##name(b, k, i) |
|
#define | kb_itr_next(name, b, i) kb_itr_next_##name(b, i) |
|
#define | kb_itr_prev(name, b, i) kb_itr_prev_##name(b, i) |
|
#define | kb_del_itr(name, b, i) kb_del_itr_##name(b, i) |
|
#define | kb_itr_key(itr) __KB_KEY(dummy, (itr)->p->x)[(itr)->p->i] |
|
#define | kb_itr_valid(itr) ((itr)->p >= (itr)->stack) |
|
#define | kb_size(b) ((b)->n_keys) |
|
#define | kb_generic_cmp(a, b) (((b) < (a)) - ((a) < (b))) |
|
#define | kb_str_cmp(a, b) strcmp(a, b) |
|