diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2021-10-19 21:38:48 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2021-10-22 19:24:44 -0700 |
commit | 74f8cd15bb43110973deffdeb9dd229797e5b328 (patch) | |
tree | 12d6b5475a786eacf7a5a79b03b2b85621578ec6 /src/ltm.h | |
download | teliva-74f8cd15bb43110973deffdeb9dd229797e5b328.tar.gz |
new fork of Lua 5.1
https://www.lua.org
Diffstat (limited to 'src/ltm.h')
-rw-r--r-- | src/ltm.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/ltm.h b/src/ltm.h new file mode 100644 index 0000000..64343b7 --- /dev/null +++ b/src/ltm.h @@ -0,0 +1,54 @@ +/* +** $Id: ltm.h,v 2.6.1.1 2007/12/27 13:02:25 roberto Exp $ +** Tag methods +** See Copyright Notice in lua.h +*/ + +#ifndef ltm_h +#define ltm_h + + +#include "lobject.h" + + +/* +* WARNING: if you change the order of this enumeration, +* grep "ORDER TM" +*/ +typedef enum { + TM_INDEX, + TM_NEWINDEX, + TM_GC, + TM_MODE, + TM_EQ, /* last tag method with `fast' access */ + TM_ADD, + TM_SUB, + TM_MUL, + TM_DIV, + TM_MOD, + TM_POW, + TM_UNM, + TM_LEN, + TM_LT, + TM_LE, + TM_CONCAT, + TM_CALL, + TM_N /* number of elements in the enum */ +} TMS; + + + +#define gfasttm(g,et,e) ((et) == NULL ? NULL : \ + ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) + +#define fasttm(l,et,e) gfasttm(G(l), et, e) + +LUAI_DATA const char *const luaT_typenames[]; + + +LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); +LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, + TMS event); +LUAI_FUNC void luaT_init (lua_State *L); + +#endif |