summaryrefslogtreecommitdiff
path: root/Source/3rdParty/Lua51/ltm.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-13 09:36:13 +0800
committerchai <chaifix@163.com>2019-01-13 09:36:13 +0800
commit2fb6b09dcf2ceb09cf021adb4a89f4c1255d5558 (patch)
tree7d8045be6920b532319f07d27d39bd4a2765044b /Source/3rdParty/Lua51/ltm.h
parent63b5a5fab9e41a2644ab43f23d661dd5f804cf1c (diff)
+luax
Diffstat (limited to 'Source/3rdParty/Lua51/ltm.h')
-rw-r--r--Source/3rdParty/Lua51/ltm.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/Source/3rdParty/Lua51/ltm.h b/Source/3rdParty/Lua51/ltm.h
new file mode 100644
index 0000000..64343b7
--- /dev/null
+++ b/Source/3rdParty/Lua51/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