Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/contrib/lua-5.1.5/src/ltm.h
3203 views
1
/*
2
** $Id: ltm.h,v 2.6.1.1 2007/12/27 13:02:25 roberto Exp $
3
** Tag methods
4
** See Copyright Notice in lua.h
5
*/
6
7
#ifndef ltm_h
8
#define ltm_h
9
10
11
#include "lobject.h"
12
13
14
/*
15
* WARNING: if you change the order of this enumeration,
16
* grep "ORDER TM"
17
*/
18
typedef enum {
19
TM_INDEX,
20
TM_NEWINDEX,
21
TM_GC,
22
TM_MODE,
23
TM_EQ, /* last tag method with `fast' access */
24
TM_ADD,
25
TM_SUB,
26
TM_MUL,
27
TM_DIV,
28
TM_MOD,
29
TM_POW,
30
TM_UNM,
31
TM_LEN,
32
TM_LT,
33
TM_LE,
34
TM_CONCAT,
35
TM_CALL,
36
TM_N /* number of elements in the enum */
37
} TMS;
38
39
40
41
#define gfasttm(g,et,e) ((et) == NULL ? NULL : \
42
((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))
43
44
#define fasttm(l,et,e) gfasttm(G(l), et, e)
45
46
LUAI_DATA const char *const luaT_typenames[];
47
48
49
LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename);
50
LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o,
51
TMS event);
52
LUAI_FUNC void luaT_init (lua_State *L);
53
54
#endif
55
56