10 #ifndef CK_TOKENIZER_HASH_TABLE_H
11 #define CK_TOKENIZER_HASH_TABLE_H
127 const char **out_keys,
140 #define CK_TOKENIZER_HT_BUCKETS_SMALL 1024
141 #define CK_TOKENIZER_HT_BUCKETS_MEDIUM 8192
142 #define CK_TOKENIZER_HT_BUCKETS_LARGE 65536
143 #define CK_TOKENIZER_HT_BUCKETS_XL 262144
bool ck_tokenizer_hash_table_contains(CKTokenizerHashTable *table, const char *key)
size_t ck_tokenizer_hash_table_count(CKTokenizerHashTable *table)
size_t ck_tokenizer_hash_table_keys(CKTokenizerHashTable *table, const char **out_keys, size_t max_keys)
void ck_tokenizer_hash_table_free(CKTokenizerHashTable *table, bool free_values)
int(* CKTokenizerHashCallback)(const char *key, void *value, void *user_data)
CKTokenizerHashTable * ck_tokenizer_hash_table_create(size_t bucket_count)
int ck_tokenizer_hash_table_iterate(CKTokenizerHashTable *table, CKTokenizerHashCallback callback, void *user_data)
int ck_tokenizer_hash_table_insert(CKTokenizerHashTable *table, const char *key, void *value)
void * ck_tokenizer_hash_table_lookup(CKTokenizerHashTable *table, const char *key)
int ck_tokenizer_hash_table_delete(CKTokenizerHashTable *table, const char *key, bool free_value)
void ck_tokenizer_hash_table_clear(CKTokenizerHashTable *table, bool free_values)
struct CKTokenizerHashEntry * next
CKTokenizerHashEntry ** entries