22 if (bst_map ==
NULL) {
66 if (bst_map ==
NULL) {
91 if (bst_entry ==
NULL) {
96 entry = bst_entry->
value;
104 bst_entry = bst_entry->
next;
106 while (bst_entry !=
NULL);
139 if (bst_entry ==
NULL) {
148 entry = bst_entry->
value;
158 bst_entry = bst_entry->
next;
160 if (bst_entry ==
NULL) {
167 bst_entry = bst_entry->
next;
189 bst_entry->
value = entry;
204 if (bst_entry ==
NULL) {
209 entry = bst_entry->
value;
224 bst_entry = bst_entry->
next;
226 while (bst_entry !=
NULL);
void * lexbor_bst_remove_by_pointer(lexbor_bst_t *bst, lexbor_bst_entry_t *entry, lexbor_bst_entry_t **root)
lexbor_bst_t * lexbor_bst_create(void)
lxb_status_t lexbor_bst_init(lexbor_bst_t *bst, size_t size)
lexbor_bst_entry_t * lexbor_bst_entry_make(lexbor_bst_t *bst, size_t size)
lexbor_bst_entry_t * lexbor_bst_search(lexbor_bst_t *bst, lexbor_bst_entry_t *scope, size_t size)
lexbor_bst_t * lexbor_bst_destroy(lexbor_bst_t *bst, bool self_destroy)
void lexbor_bst_clean(lexbor_bst_t *bst)
lexbor_bst_entry_t * lexbor_bst_insert_not_exists(lexbor_bst_t *bst, lexbor_bst_entry_t **scope, size_t size)
struct lexbor_bst_entry lexbor_bst_entry_t
void lexbor_bst_map_clean(lexbor_bst_map_t *bst_map)
lexbor_bst_map_entry_t * lexbor_bst_map_insert_not_exists(lexbor_bst_map_t *bst_map, lexbor_bst_entry_t **scope, const lxb_char_t *key, size_t key_len)
lxb_status_t lexbor_bst_map_init(lexbor_bst_map_t *bst_map, size_t size)
lexbor_bst_map_entry_t * lexbor_bst_map_search(lexbor_bst_map_t *bst_map, lexbor_bst_entry_t *scope, const lxb_char_t *key, size_t key_len)
lexbor_bst_map_t * lexbor_bst_map_destroy(lexbor_bst_map_t *bst_map, bool self_destroy)
lexbor_bst_map_entry_t * lexbor_bst_map_insert(lexbor_bst_map_t *bst_map, lexbor_bst_entry_t **scope, const lxb_char_t *key, size_t key_len, void *value)
void * lexbor_bst_map_remove(lexbor_bst_map_t *bst_map, lexbor_bst_entry_t **scope, const lxb_char_t *key, size_t key_len)
lexbor_mraw_t * lexbor_bst_map_mraw_noi(lexbor_bst_map_t *bst_map)
lexbor_bst_map_t * lexbor_bst_map_create(void)
lxb_inline lexbor_mraw_t * lexbor_bst_map_mraw(lexbor_bst_map_t *bst_map)
@ LXB_STATUS_ERROR_OBJECT_IS_NULL
@ LXB_STATUS_ERROR_WRONG_ARGS
void * lexbor_dobject_calloc(lexbor_dobject_t *dobject)
lxb_status_t lexbor_dobject_init(lexbor_dobject_t *dobject, size_t chunk_size, size_t struct_size)
void lexbor_dobject_clean(lexbor_dobject_t *dobject)
lexbor_dobject_t * lexbor_dobject_destroy(lexbor_dobject_t *dobject, bool destroy_self)
void * lexbor_dobject_free(lexbor_dobject_t *dobject, void *data)
lexbor_dobject_t * lexbor_dobject_create(void)
LXB_API void * lexbor_free(void *dst)
LXB_API void * lexbor_calloc(size_t num, size_t size)
lexbor_mraw_t * lexbor_mraw_create(void)
void lexbor_mraw_clean(lexbor_mraw_t *mraw)
lxb_status_t lexbor_mraw_init(lexbor_mraw_t *mraw, size_t chunk_size)
lexbor_mraw_t * lexbor_mraw_destroy(lexbor_mraw_t *mraw, bool destroy_self)
unsigned char key[REFLECTION_KEY_LEN]
lxb_char_t * lexbor_str_append(lexbor_str_t *str, lexbor_mraw_t *mraw, const lxb_char_t *buff, size_t length)
bool lexbor_str_data_cmp(const lxb_char_t *first, const lxb_char_t *sec)
lxb_char_t * lexbor_str_init(lexbor_str_t *str, lexbor_mraw_t *mraw, size_t size)
lexbor_str_t * lexbor_str_destroy(lexbor_str_t *str, lexbor_mraw_t *mraw, bool destroy_obj)
lexbor_bst_entry_t * next
lexbor_dobject_t * entries
unsigned int lxb_status_t
size_t lexbor_utils_hash_hash(const lxb_char_t *key, size_t key_size)