summaryrefslogtreecommitdiff
path: root/ltable.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-07-05 17:31:14 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-07-05 17:31:14 -0300
commit654b16e83aad64643d524295300cf29677b7f2ba (patch)
tree2db8ea2d0b7d9a12daa0691e3a966fe05751a0f0 /ltable.h
parentdc4e0ecdafbdd2e0f936680ccc703b663260407e (diff)
downloadlua-654b16e83aad64643d524295300cf29677b7f2ba.tar.gz
lua-654b16e83aad64643d524295300cf29677b7f2ba.tar.bz2
lua-654b16e83aad64643d524295300cf29677b7f2ba.zip
better performance for table operations (mainly for integer indices)
Diffstat (limited to 'ltable.h')
-rw-r--r--ltable.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/ltable.h b/ltable.h
index a7c617c4..df0ff232 100644
--- a/ltable.h
+++ b/ltable.h
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.h,v 1.32 2001/02/02 16:32:00 roberto Exp roberto $ 2** $Id: ltable.h,v 1.33 2001/06/26 13:20:45 roberto Exp roberto $
3** Lua tables (hash) 3** Lua tables (hash)
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -14,21 +14,19 @@
14#define key(_n) (&(_n)->key) 14#define key(_n) (&(_n)->key)
15#define val(_n) (&(_n)->val) 15#define val(_n) (&(_n)->val)
16 16
17 17const TObject *luaH_getnum (Hash *t, int key);
18#define luaH_get(_t,_k) luaH_set(NULL,_t,_k) 18TObject *luaH_setnum (lua_State *L, Hash *t, int key);
19#define luaH_getnum(_t,_k) luaH_setnum(NULL,_t,_k) 19const TObject *luaH_getstr (Hash *t, TString *key);
20#define luaH_getstr(_t,_k) luaH_setstr(NULL,_t,_k) 20TObject *luaH_setstr (lua_State *L, Hash *t, TString *key);
21 21const TObject *luaH_get (Hash *t, const TObject *key);
22TObject *luaH_set (lua_State *L, Hash *t, const TObject *key);
22Hash *luaH_new (lua_State *L, int nhash); 23Hash *luaH_new (lua_State *L, int nhash);
23void luaH_free (lua_State *L, Hash *t); 24void luaH_free (lua_State *L, Hash *t);
24TObject *luaH_set (lua_State *L, Hash *t, const TObject *key);
25Node *luaH_next (lua_State *L, Hash *t, const TObject *r); 25Node *luaH_next (lua_State *L, Hash *t, const TObject *r);
26int luaH_nexti (Hash *t, int i); 26int luaH_nexti (Hash *t, int i);
27TObject *luaH_setnum (lua_State *L, Hash *t, lua_Number key);
28TObject *luaH_setstr (lua_State *L, Hash *t, TString *key);
29 27
30/* exported only for debugging */ 28/* exported only for debugging */
31Node *luaH_mainposition (const Hash *t, const Node *n); 29Node *luaH_mainposition (const Hash *t, const TObject *key);
32 30
33 31
34#endif 32#endif