13#define gnode(t,i) (&(t)->node[i])
14#define gkey(n) (&(n)->i_key.tvk)
15#define gval(n) (&(n)->i_val)
16#define gnext(n) ((n)->i_key.nk.next)
18#define invalidateTMcache(t) ((t)->flags = 0)
21#define keyfromval(v) \
22 (gkey(cast(Node *, cast(char *, (v)) - offsetof(Node, i_val))))
LUAI_FUNC void luaH_resize(lua_State *L, Table *t, int nasize, int nhsize)
LUAI_FUNC TValue * luaH_set(lua_State *L, Table *t, const TValue *key)
LUAI_FUNC Table * luaH_new(lua_State *L)
LUAI_FUNC void luaH_resizearray(lua_State *L, Table *t, int nasize)
LUAI_FUNC void luaH_setint(lua_State *L, Table *t, int key, TValue *value)
LUAI_FUNC int luaH_next(lua_State *L, Table *t, StkId key)
LUAI_FUNC int luaH_getn(Table *t)
LUAI_FUNC TValue * luaH_newkey(lua_State *L, Table *t, const TValue *key)
LUAI_FUNC const TValue * luaH_get(Table *t, const TValue *key)
LUAI_FUNC const TValue * luaH_getint(Table *t, int key)
LUAI_FUNC void luaH_free(lua_State *L, Table *t)
LUAI_FUNC const TValue * luaH_getstr(Table *t, TString *key)