The Battle for Wesnoth  1.15.2+dev
Macros | Enumerations | Functions | Variables
ltm.h File Reference
#include "lobject.h"
Include dependency graph for ltm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define gfasttm(g, et, e)
 
#define fasttm(l, et, e)   gfasttm(G(l), et, e)
 
#define ttypename(x)   luaT_typenames_[(x) + 1]
 

Enumerations

enum  TMS {
  TM_INDEX, TM_NEWINDEX, TM_GC, TM_MODE,
  TM_LEN, TM_EQ, TM_ADD, TM_SUB,
  TM_MUL, TM_MOD, TM_POW, TM_DIV,
  TM_IDIV, TM_BAND, TM_BOR, TM_BXOR,
  TM_SHL, TM_SHR, TM_UNM, TM_BNOT,
  TM_LT, TM_LE, TM_CONCAT, TM_CALL,
  TM_N
}
 

Functions

LUAI_FUNC const char * luaT_objtypename (lua_State *L, const TValue *o)
 
LUAI_FUNC const TValueluaT_gettm (Table *events, TMS event, TString *ename)
 
LUAI_FUNC const TValueluaT_gettmbyobj (lua_State *L, const TValue *o, TMS event)
 
LUAI_FUNC void luaT_init (lua_State *L)
 
LUAI_FUNC void luaT_callTM (lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, TValue *p3, int hasres)
 
LUAI_FUNC int luaT_callbinTM (lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
 
LUAI_FUNC void luaT_trybinTM (lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
 
LUAI_FUNC int luaT_callorderTM (lua_State *L, const TValue *p1, const TValue *p2, TMS event)
 

Variables

LUAI_DDEC const char *const luaT_typenames_ [LUA_TOTALTAGS]
 

Macro Definition Documentation

◆ fasttm

#define fasttm (   l,
  et,
  e 
)    gfasttm(G(l), et, e)

Definition at line 51 of file ltm.h.

Referenced by luaV_equalobj(), luaV_finishget(), luaV_finishset(), and luaV_objlen().

◆ gfasttm

#define gfasttm (   g,
  et,
  e 
)
Value:
((et) == NULL ? NULL : \
((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))
LUAI_FUNC const TValue * luaT_gettm(Table *events, TMS event, TString *ename)
Definition: ltm.cpp:59
double g
Definition: astarsearch.cpp:64
#define e

Definition at line 48 of file ltm.h.

Referenced by luaC_checkfinalizer(), and traversetable().

◆ ttypename

#define ttypename (   x)    luaT_typenames_[(x) + 1]

Definition at line 53 of file ltm.h.

Referenced by lua_typename(), and luaT_objtypename().

Enumeration Type Documentation

◆ TMS

enum TMS
Enumerator
TM_INDEX 
TM_NEWINDEX 
TM_GC 
TM_MODE 
TM_LEN 
TM_EQ 
TM_ADD 
TM_SUB 
TM_MUL 
TM_MOD 
TM_POW 
TM_DIV 
TM_IDIV 
TM_BAND 
TM_BOR 
TM_BXOR 
TM_SHL 
TM_SHR 
TM_UNM 
TM_BNOT 
TM_LT 
TM_LE 
TM_CONCAT 
TM_CALL 
TM_N 

Definition at line 18 of file ltm.h.

Function Documentation

◆ luaT_callbinTM()

LUAI_FUNC int luaT_callbinTM ( lua_State L,
const TValue p1,
const TValue p2,
StkId  res,
TMS  event 
)

Definition at line 124 of file ltm.cpp.

References luaT_callTM(), luaT_gettmbyobj(), and ttisnil.

Referenced by luaT_callorderTM(), and luaT_trybinTM().

◆ luaT_callorderTM()

LUAI_FUNC int luaT_callorderTM ( lua_State L,
const TValue p1,
const TValue p2,
TMS  event 
)

Definition at line 158 of file ltm.cpp.

References l_isfalse, luaT_callbinTM(), and lua_State::top.

Referenced by luaV_lessequal(), and luaV_lessthan().

◆ luaT_callTM()

LUAI_FUNC void luaT_callTM ( lua_State L,
const TValue f,
const TValue p1,
const TValue p2,
TValue p3,
int  hasres 
)

◆ luaT_gettm()

LUAI_FUNC const TValue* luaT_gettm ( Table events,
TMS  event,
TString ename 
)

Definition at line 59 of file ltm.cpp.

References cast_byte, Table::flags, lua_assert, luaH_getshortstr(), TM_EQ, and ttisnil.

◆ luaT_gettmbyobj()

LUAI_FUNC const TValue* luaT_gettmbyobj ( lua_State L,
const TValue o,
TMS  event 
)

◆ luaT_init()

LUAI_FUNC void luaT_init ( lua_State L)

Definition at line 37 of file ltm.cpp.

References G, i, luaC_fix(), luaS_new(), obj2gco, and TM_N.

Referenced by f_luaopen().

◆ luaT_objtypename()

LUAI_FUNC const char* luaT_objtypename ( lua_State L,
const TValue o 
)

◆ luaT_trybinTM()

LUAI_FUNC void luaT_trybinTM ( lua_State L,
const TValue p1,
const TValue p2,
StkId  res,
TMS  event 
)

Variable Documentation

◆ luaT_typenames_

LUAI_DDEC const char* const luaT_typenames_[LUA_TOTALTAGS]

Definition at line 55 of file ltm.h.