| 20 |
#include <stdint.h> |
#include <stdint.h> |
| 21 |
|
|
| 22 |
#define TRIE_CHILDREN 63 // A-Za-z0-9_ |
#define TRIE_CHILDREN 63 // A-Za-z0-9_ |
| 23 |
|
#define TRIE_MAX_KEY_LEN 1023 |
| 24 |
|
|
| 25 |
struct trie_node_t |
struct trie_node_t |
| 26 |
{ |
{ |
| 30 |
}; |
}; |
| 31 |
typedef struct trie_node_t TRIE_NODE; |
typedef struct trie_node_t TRIE_NODE; |
| 32 |
|
|
| 33 |
|
typedef void (*trie_dict_traverse_cb)(const char *, int64_t); |
| 34 |
|
|
| 35 |
extern TRIE_NODE *trie_dict_create(void); |
extern TRIE_NODE *trie_dict_create(void); |
| 36 |
extern void trie_dict_destroy(TRIE_NODE *p_dict); |
extern void trie_dict_destroy(TRIE_NODE *p_dict); |
| 37 |
|
|
| 39 |
extern int trie_dict_get(TRIE_NODE *p_dict, const char *key, int64_t *p_value); |
extern int trie_dict_get(TRIE_NODE *p_dict, const char *key, int64_t *p_value); |
| 40 |
extern int trie_dict_del(TRIE_NODE *p_dict, const char *key); |
extern int trie_dict_del(TRIE_NODE *p_dict, const char *key); |
| 41 |
|
|
| 42 |
|
extern void trie_dict_traverse(TRIE_NODE *p_dict, trie_dict_traverse_cb cb); |
| 43 |
|
|
| 44 |
#endif //_TRIE_DICT_H_ |
#endif //_TRIE_DICT_H_ |