18#define haction(type, ret_type, argtype, prefix, func, pre, cmp, action, post, \
20 ret_type prefix##_##func(const Hash h, argtype arg) { \
21 const unsigned int idx = hash((m_str)arg) % h->size; \
22 const type sym = h->table[idx]; \
23 pre for (type s = sym; s; s = s->next) { \
31#define hstraction(type, ret_type, func, pre, action, post, ret) \
32 haction(type, ret_type, m_str, macro, func, pre, !strcmp(s->name, arg), \
void hdel(const Hash, void(*)(MemPool, void *))
ANN unsigned int hash(const m_str s0)
void hini(const Hash, const uint)