24#ifndef __M_HASH_STRBIN_H__
25#define __M_HASH_STRBIN_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
54struct M_hash_strbin_enum;
size_t M_hash_strbin_num_keys(const M_hash_strbin_t *h)
size_t M_hash_strbin_num_expansions(const M_hash_strbin_t *h)
size_t M_hash_strbin_num_collisions(const M_hash_strbin_t *h)
M_bool M_hash_strbin_insert(M_hash_strbin_t *h, const char *key, const M_uint8 *value, size_t value_len)
void M_hash_strbin_destroy(M_hash_strbin_t *h) M_FREE(1)
M_bool M_hash_strbin_remove(M_hash_strbin_t *h, const char *key)
const M_uint8 * M_hash_strbin_multi_get_direct(const M_hash_strbin_t *h, const char *key, size_t idx, size_t *value_len)
M_bool M_hash_strbin_multi_remove(M_hash_strbin_t *h, const char *key, size_t idx)
M_hash_strbin_t * M_hash_strbin_duplicate(const M_hash_strbin_t *h) M_MALLOC
struct M_hash_strbin_enum M_hash_strbin_enum_t
Definition: m_hash_strbin.h:56
void M_hash_strbin_enumerate_free(M_hash_strbin_enum_t *hashenum)
M_hash_strbin_flags_t
Definition: m_hash_strbin.h:60
M_bool M_hash_strbin_enumerate_next(const M_hash_strbin_t *h, M_hash_strbin_enum_t *hashenum, const char **key, const M_uint8 **value, size_t *value_len)
M_bool M_hash_strbin_get(const M_hash_strbin_t *h, const char *key, const M_uint8 **value, size_t *value_len)
struct M_hash_strbin M_hash_strbin_t
Definition: m_hash_strbin.h:52
void M_hash_strbin_merge(M_hash_strbin_t **dest, M_hash_strbin_t *src) M_FREE(2)
M_bool M_hash_strbin_is_multi(const M_hash_strbin_t *h)
M_uint32 M_hash_strbin_size(const M_hash_strbin_t *h)
M_bool M_hash_strbin_multi_get(const M_hash_strbin_t *h, const char *key, size_t idx, const M_uint8 **value, size_t *value_len)
size_t M_hash_strbin_enumerate(const M_hash_strbin_t *h, M_hash_strbin_enum_t **hashenum)
M_bool M_hash_strbin_multi_len(const M_hash_strbin_t *h, const char *key, size_t *len)
const M_uint8 * M_hash_strbin_get_direct(const M_hash_strbin_t *h, const char *key, size_t *value_len)
M_hash_strbin_t * M_hash_strbin_create(size_t size, M_uint8 fillpct, M_uint32 flags) M_MALLOC_ALIASED
@ M_HASH_STRBIN_MULTI_VALUE
Definition: m_hash_strbin.h:71
@ M_HASH_STRBIN_CASECMP
Definition: m_hash_strbin.h:62
@ M_HASH_STRBIN_NONE
Definition: m_hash_strbin.h:61
@ M_HASH_STRBIN_KEYS_SORTASC
Definition: m_hash_strbin.h:69
@ M_HASH_STRBIN_KEYS_UPPER
Definition: m_hash_strbin.h:63
@ M_HASH_STRBIN_KEYS_SORTDESC
Definition: m_hash_strbin.h:70
@ M_HASH_STRBIN_STATIC_SEED
Definition: m_hash_strbin.h:75
@ M_HASH_STRBIN_MULTI_GETLAST
Definition: m_hash_strbin.h:73
@ M_HASH_STRBIN_KEYS_ORDERED
Definition: m_hash_strbin.h:67
@ M_HASH_STRBIN_KEYS_LOWER
Definition: m_hash_strbin.h:65