7#if !defined(TETENGO_TRIE_STORAGE_H)
8#define TETENGO_TRIE_STORAGE_H
18#if defined(__cplusplus)
22#if !defined(DOCUMENTATION)
23#if !defined(TYPEDEF_TETENGO_TRIE_STORAGE_T)
24#define TYPEDEF_TETENGO_TRIE_STORAGE_T
25typedef struct tetengo_trie_storage_tag tetengo_trie_storage_t;
27#if !defined(TYPEDEF_TETENGO_TRIE_TRIE_T)
28#define TYPEDEF_TETENGO_TRIE_TRIE_T
29typedef struct tetengo_trie_trie_tag tetengo_trie_trie_t;
180 tetengo_trie_storage_t* p_storage,
205 const tetengo_trie_storage_t* p_storage,
207 size_t fixed_value_size);
219#if defined(__cplusplus)
tetengo_trie_storage_t * tetengo_trie_storage_createSharedStorage(const path_character_type *path)
Creates a shared storage.
tetengo_trie_storage_t * tetengo_trie_storage_createMemoryStorage(const path_character_type *path)
Creates a memory storage.
uint8_t tetengo_trie_storage_checkAt(const tetengo_trie_storage_t *p_storage, size_t base_check_index)
Returns the check value.
size_t tetengo_trie_storage_baseCheckSize(const tetengo_trie_storage_t *p_storage)
Returns the base-check size.
tetengo_trie_storage_t * tetengo_trie_storage_createMmapStorage(const path_character_type *path, size_t content_offset)
Creates an mmap storage.
bool tetengo_trie_storage_setCheckAt(tetengo_trie_storage_t *p_storage, size_t base_check_index, uint8_t check)
Sets a check value.
void tetengo_trie_storage_destroy(const tetengo_trie_storage_t *p_storage)
Destroys a storage.
size_t tetengo_trie_storage_valueCount(const tetengo_trie_storage_t *p_storage)
Returns the value count.
double tetengo_trie_storage_fillingRate(const tetengo_trie_storage_t *p_storage)
Returns the filling rate.
bool tetengo_trie_storage_setBaseAt(tetengo_trie_storage_t *p_storage, size_t base_check_index, int32_t base)
Sets a base value.
tetengo_trie_storage_t * tetengo_trie_storage_clone(const tetengo_trie_storage_t *p_storage)
Clones a storage.
uint8_t tetengo_trie_storage_vacantCheckValue()
Returns the check value for a vacant element.
tetengo_trie_storage_t * tetengo_trie_storage_createStorage(const tetengo_trie_trie_t *p_trie)
Creates a storage.
int32_t tetengo_trie_storage_baseAt(const tetengo_trie_storage_t *p_storage, size_t base_check_index)
Returns the base value.
char path_character_type
A path character type.
Definition storage.h:40
bool tetengo_trie_storage_serialize(const tetengo_trie_storage_t *p_storage, const path_character_type *path, size_t fixed_value_size)
Serializes the storage.
bool tetengo_trie_storage_addValueAt(tetengo_trie_storage_t *p_storage, size_t value_index, const void *p_value, size_t value_size)
Adds a value object.
const void * tetengo_trie_storage_valueAt(const tetengo_trie_storage_t *p_storage, size_t value_index)
Returns the value object.