10#define LEXBOR_STR_RES_MAP_LOWERCASE
11#define LEXBOR_STR_RES_MAP_UPPERCASE
15#define lexbor_shs_make_id_m(key, size, table_size) \
16 (((((key[0] * key[size - 1]) * key[0]) + size) % table_size) + 0x01)
18#define lexbor_shs_make_id_lower_m(key, size, table_size) \
19 (((((lexbor_str_res_map_lowercase[key[0]] \
20 * lexbor_str_res_map_lowercase[key[size - 1]]) \
21 * lexbor_str_res_map_lowercase[key[0]]) \
25#define lexbor_shs_make_id_upper_m(key, size, table_size) \
26 (((((lexbor_str_res_map_uppercase[key[0]] \
27 * lexbor_str_res_map_uppercase[key[size - 1]]) \
28 * lexbor_str_res_map_uppercase[key[0]]) \
42 if (entry->
key_len == key_len) {
49 entry = &root[entry->
next];
51 else if (entry->
key_len > key_len) {
55 entry = &root[entry->
next];
71 if (entry->
key_len == key_len) {
78 entry = &root[entry->
next];
80 else if (entry->
key_len > key_len) {
84 entry = &root[entry->
next];
100 if (entry->
key_len == key_len) {
107 entry = &root[entry->
next];
109 else if (entry->
key_len > key_len) {
113 entry = &root[entry->
next];
unsigned char key[REFLECTION_KEY_LEN]
const lexbor_shs_entry_t * lexbor_shs_entry_get_upper_static(const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
#define lexbor_shs_make_id_m(key, size, table_size)
#define lexbor_shs_make_id_lower_m(key, size, table_size)
const lexbor_shs_entry_t * lexbor_shs_entry_get_static(const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
#define lexbor_shs_make_id_upper_m(key, size, table_size)
const lexbor_shs_entry_t * lexbor_shs_entry_get_lower_static(const lexbor_shs_entry_t *root, const lxb_char_t *key, size_t key_len)
bool lexbor_str_data_nupcmp_right(const lxb_char_t *first, const lxb_char_t *sec, size_t size)
bool lexbor_str_data_ncmp(const lxb_char_t *first, const lxb_char_t *sec, size_t size)
bool lexbor_str_data_nlocmp_right(const lxb_char_t *first, const lxb_char_t *sec, size_t size)