24#ifndef __M_HASH_STRVP_H__
25#define __M_HASH_STRVP_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
55struct M_hash_strvp_enum;
size_t M_hash_strvp_num_expansions(const M_hash_strvp_t *h)
void M_hash_strvp_enumerate_free(M_hash_strvp_enum_t *hashenum)
void M_hash_strvp_merge(M_hash_strvp_t **dest, M_hash_strvp_t *src) M_FREE(2)
M_hash_strvp_t * M_hash_strvp_create(size_t size, M_uint8 fillpct, M_uint32 flags, void(*destroy_func)(void *)) M_MALLOC_ALIASED
void * M_hash_strvp_multi_get_direct(const M_hash_strvp_t *h, const char *key, size_t idx)
void M_hash_strvp_destroy(M_hash_strvp_t *h, M_bool destroy_vals) M_FREE(1)
M_uint32 M_hash_strvp_size(const M_hash_strvp_t *h)
M_bool M_hash_strvp_multi_get(const M_hash_strvp_t *h, const char *key, size_t idx, void **value)
M_bool M_hash_strvp_remove(M_hash_strvp_t *h, const char *key, M_bool destroy_vals)
M_bool M_hash_strvp_get(const M_hash_strvp_t *h, const char *key, void **value)
void * M_hash_strvp_get_direct(const M_hash_strvp_t *h, const char *key)
M_bool M_hash_strvp_insert(M_hash_strvp_t *h, const char *key, void *value)
size_t M_hash_strvp_enumerate(const M_hash_strvp_t *h, M_hash_strvp_enum_t **hashenum)
struct M_hash_strvp_enum M_hash_strvp_enum_t
Definition: m_hash_strvp.h:57
M_bool M_hash_strvp_multi_len(const M_hash_strvp_t *h, const char *key, size_t *len)
M_bool M_hash_strvp_multi_remove(M_hash_strvp_t *h, const char *key, size_t idx, M_bool destroy_vals)
size_t M_hash_strvp_num_keys(const M_hash_strvp_t *h)
struct M_hash_strvp M_hash_strvp_t
Definition: m_hash_strvp.h:53
M_bool M_hash_strvp_enumerate_next(const M_hash_strvp_t *h, M_hash_strvp_enum_t *hashenum, const char **key, void **value)
M_bool M_hash_strvp_is_multi(const M_hash_strvp_t *h)
M_hash_strvp_flags_t
Definition: m_hash_strvp.h:61
size_t M_hash_strvp_num_collisions(const M_hash_strvp_t *h)
@ M_HASH_STRVP_CASECMP
Definition: m_hash_strvp.h:63
@ M_HASH_STRVP_MULTI_GETLAST
Definition: m_hash_strvp.h:74
@ M_HASH_STRVP_KEYS_LOWER
Definition: m_hash_strvp.h:66
@ M_HASH_STRVP_NONE
Definition: m_hash_strvp.h:62
@ M_HASH_STRVP_KEYS_SORTDESC
Definition: m_hash_strvp.h:71
@ M_HASH_STRVP_KEYS_UPPER
Definition: m_hash_strvp.h:64
@ M_HASH_STRVP_MULTI_VALUE
Definition: m_hash_strvp.h:72
@ M_HASH_STRVP_KEYS_ORDERED
Definition: m_hash_strvp.h:68
@ M_HASH_STRVP_STATIC_SEED
Definition: m_hash_strvp.h:76
@ M_HASH_STRVP_KEYS_SORTASC
Definition: m_hash_strvp.h:70