Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef ltm_h
00008 #define ltm_h
00009
00010
00011 #include <lua/lobject.h>
00012
00013
00014
00015
00016
00017
00018 typedef enum {
00019 TM_INDEX,
00020 TM_NEWINDEX,
00021 TM_GC,
00022 TM_MODE,
00023 TM_EQ,
00024 TM_ADD,
00025 TM_SUB,
00026 TM_MUL,
00027 TM_DIV,
00028 TM_MOD,
00029 TM_POW,
00030 TM_UNM,
00031 TM_LEN,
00032 TM_LT,
00033 TM_LE,
00034 TM_CONCAT,
00035 TM_CALL,
00036 TM_N
00037 } TMS;
00038
00039
00040
00041 #define gfasttm(g,et,e) ((et) == NULL ? NULL : \
00042 ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))
00043
00044 #define fasttm(l,et,e) gfasttm(G(l), et, e)
00045
00046 LUAI_DATA const char *const luaT_typenames[];
00047
00048
00049 LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename);
00050 LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o,
00051 TMS event);
00052 LUAI_FUNC void luaT_init (lua_State *L);
00053
00054 #endif