24#ifndef __M_HASH_STRIDX_H__
25#define __M_HASH_STRIDX_H__
29#include <mstdlib/base/m_defs.h>
30#include <mstdlib/base/m_types.h>
54struct M_hash_stridx_enum;
size_t M_hash_stridx_num_collisions(const M_hash_stridx_t *h)
M_bool M_hash_stridx_remove(M_hash_stridx_t *h, const char *key)
M_bool M_hash_stridx_multi_get(const M_hash_stridx_t *h, const char *key, size_t idx, size_t *value)
struct M_hash_stridx M_hash_stridx_t
Definition: m_hash_stridx.h:52
size_t M_hash_stridx_multi_get_direct(const M_hash_stridx_t *h, const char *key, size_t idx)
void M_hash_stridx_merge(M_hash_stridx_t **dest, M_hash_stridx_t *src) M_FREE(2)
size_t M_hash_stridx_num_keys(const M_hash_stridx_t *h)
M_hash_stridx_flags_t
Definition: m_hash_stridx.h:60
void M_hash_stridx_enumerate_free(M_hash_stridx_enum_t *hashenum)
size_t M_hash_stridx_get_direct(const M_hash_stridx_t *h, const char *key)
M_uint32 M_hash_stridx_size(const M_hash_stridx_t *h)
size_t M_hash_stridx_enumerate(const M_hash_stridx_t *h, M_hash_stridx_enum_t **hashenum)
M_bool M_hash_stridx_enumerate_next(const M_hash_stridx_t *h, M_hash_stridx_enum_t *hashenum, const char **key, size_t *value)
M_bool M_hash_stridx_insert(M_hash_stridx_t *h, const char *key, size_t value)
M_hash_stridx_t * M_hash_stridx_duplicate(const M_hash_stridx_t *h) M_MALLOC
void M_hash_stridx_destroy(M_hash_stridx_t *h) M_FREE(1)
M_bool M_hash_stridx_multi_remove(M_hash_stridx_t *h, const char *key, size_t idx)
M_hash_stridx_t * M_hash_stridx_create(size_t size, M_uint8 fillpct, M_uint32 flags) M_MALLOC
size_t M_hash_stridx_num_expansions(const M_hash_stridx_t *h)
M_bool M_hash_stridx_multi_len(const M_hash_stridx_t *h, const char *key, size_t *len)
M_bool M_hash_stridx_get(const M_hash_stridx_t *h, const char *key, size_t *value)
M_bool M_hash_stridx_is_multi(const M_hash_stridx_t *h)
struct M_hash_stridx_enum M_hash_stridx_enum_t
Definition: m_hash_stridx.h:56
@ M_HASH_STRIDX_STATIC_SEED
Definition: m_hash_stridx.h:75
@ M_HASH_STRIDX_NONE
Definition: m_hash_stridx.h:61
@ M_HASH_STRIDX_KEYS_UPPER
Definition: m_hash_stridx.h:63
@ M_HASH_STRIDX_MULTI_GETLAST
Definition: m_hash_stridx.h:73
@ M_HASH_STRIDX_KEYS_SORTASC
Definition: m_hash_stridx.h:69
@ M_HASH_STRIDX_KEYS_SORTDESC
Definition: m_hash_stridx.h:70
@ M_HASH_STRIDX_KEYS_LOWER
Definition: m_hash_stridx.h:65
@ M_HASH_STRIDX_CASECMP
Definition: m_hash_stridx.h:62
@ M_HASH_STRIDX_MULTI_VALUE
Definition: m_hash_stridx.h:71
@ M_HASH_STRIDX_KEYS_ORDERED
Definition: m_hash_stridx.h:67