From 4e9f2d13d5b6fa71ca480394e0b7e75463d4aeec Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 14 Oct 1999 17:13:31 -0200 Subject: new implementation of hash tables. --- ltable.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'ltable.h') diff --git a/ltable.h b/ltable.h index 034acbab..219574b9 100644 --- a/ltable.h +++ b/ltable.h @@ -1,5 +1,5 @@ /* -** $Id: ltable.h,v 1.12 1999/08/16 20:52:00 roberto Exp roberto $ +** $Id: ltable.h,v 1.13 1999/10/04 17:51:04 roberto Exp roberto $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -11,20 +11,19 @@ #define node(t,i) (&(t)->node[i]) -#define ref(n) (&(n)->ref) +#define key(n) (&(n)->key) #define val(n) (&(n)->val) -#define nhash(t) ((t)->nhash) -#define luaH_get(t,ref) (val(luaH_present((t), (ref)))) #define luaH_move(t,from,to) (luaH_setint(t, to, luaH_getint(t, from))) Hash *luaH_new (int nhash); void luaH_free (Hash *t); -Node *luaH_present (const Hash *t, const TObject *key); -void luaH_set (Hash *t, const TObject *ref, const TObject *val); +const TObject *luaH_get (const Hash *t, const TObject *key); +void luaH_set (Hash *t, const TObject *key, const TObject *val); int luaH_pos (const Hash *t, const TObject *r); -void luaH_setint (Hash *t, int ref, const TObject *val); -TObject *luaH_getint (const Hash *t, int ref); +void luaH_setint (Hash *t, int key, const TObject *val); +const TObject *luaH_getint (const Hash *t, int key); +unsigned long luaH_hash (const TObject *key); /* exported only for debugging */ #endif -- cgit v1.2.3-55-g6feb