squareball  0.2.0
A general-purpose library for C99
 All Data Structures Files Functions Variables Typedefs Pages
sb-trie.h
Go to the documentation of this file.
1 /*
2  * squareball: A general-purpose library for C99.
3  * Copyright (C) 2014-2016 Rafael G. Martins <rafael@rafaelmartins.eng.br>
4  *
5  * This program can be distributed under the terms of the BSD License.
6  * See the file LICENSE.
7  */
8 
9 #ifndef _SQUAREBALL_TRIE_H
10 #define _SQUAREBALL_TRIE_H
11 
12 #include <stdbool.h>
13 #include <stdlib.h>
14 #include <stdarg.h>
15 #include "sb-mem.h"
16 
30 typedef struct _sb_trie_t sb_trie_t;
31 
35 typedef void (*sb_trie_foreach_func_t)(const char *key, void *data);
36 
47 
54 void sb_trie_free(sb_trie_t *trie);
55 
67 void sb_trie_insert(sb_trie_t *trie, const char *key, void *data);
68 
76 void* sb_trie_lookup(sb_trie_t *trie, const char *key);
77 
84 size_t sb_trie_size(sb_trie_t *trie);
85 
93 
96 #endif /* _SQUAREBALL_TRIE_H */
struct _sb_trie_t sb_trie_t
Definition: sb-trie.h:30
void * sb_trie_lookup(sb_trie_t *trie, const char *key)
size_t sb_trie_size(sb_trie_t *trie)
void sb_trie_free(sb_trie_t *trie)
sb_trie_t * sb_trie_new(sb_free_func_t free_func)
void sb_trie_foreach(sb_trie_t *trie, sb_trie_foreach_func_t func)
Memory allocation related helpers.
void(* sb_free_func_t)(void *ptr)
Definition: sb-mem.h:29
void(* sb_trie_foreach_func_t)(const char *key, void *data)
Definition: sb-trie.h:35
void sb_trie_insert(sb_trie_t *trie, const char *key, void *data)