The Battle for Wesnoth  1.17.0-dev
Macros | Enumerations | Functions
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 maskflags   (~(~0u << (TM_EQ + 1)))
 
#define notm(tm)   ttisnil(tm)
 
#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_CLOSE, 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, const TValue *p3)
 
LUAI_FUNC void luaT_callTMres (lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, StkId p3)
 
LUAI_FUNC void luaT_trybinTM (lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
 
LUAI_FUNC void luaT_tryconcatTM (lua_State *L)
 
LUAI_FUNC void luaT_trybinassocTM (lua_State *L, const TValue *p1, const TValue *p2, int inv, StkId res, TMS event)
 
LUAI_FUNC void luaT_trybiniTM (lua_State *L, const TValue *p1, lua_Integer i2, int inv, StkId res, TMS event)
 
LUAI_FUNC int luaT_callorderTM (lua_State *L, const TValue *p1, const TValue *p2, TMS event)
 
LUAI_FUNC int luaT_callorderiTM (lua_State *L, const TValue *p1, int v2, int inv, int isfloat, TMS event)
 
LUAI_FUNC void luaT_adjustvarargs (lua_State *L, int nfixparams, struct CallInfo *ci, const Proto *p)
 
LUAI_FUNC void luaT_getvarargs (lua_State *L, struct CallInfo *ci, StkId where, int wanted)
 

Macro Definition Documentation

◆ fasttm

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

Definition at line 67 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:60
double g
Definition: astarsearch.cpp:65
#define e

Definition at line 64 of file ltm.h.

Referenced by luaC_checkfinalizer(), and traversetable().

◆ maskflags

#define maskflags   (~(~0u << (TM_EQ + 1)))

Definition at line 54 of file ltm.h.

Referenced by luaH_new().

◆ notm

#define notm (   tm)    ttisnil(tm)

Definition at line 61 of file ltm.h.

Referenced by callbinTM(), GCTM(), luaT_gettm(), luaV_finishget(), luaV_finishset(), and luaV_objlen().

◆ ttypename

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

Definition at line 69 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_CLOSE 
TM_N 

Definition at line 18 of file ltm.h.

Function Documentation

◆ luaT_adjustvarargs()

LUAI_FUNC void luaT_adjustvarargs ( lua_State L,
int  nfixparams,
struct CallInfo ci,
const Proto p 
)

◆ luaT_callorderiTM()

LUAI_FUNC int luaT_callorderiTM ( lua_State L,
const TValue p1,
int  v2,
int  inv,
int  isfloat,
TMS  event 
)

Definition at line 220 of file ltm.cpp.

References cast_num, luaT_callorderTM(), setfltvalue, and setivalue.

◆ luaT_callorderTM()

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

◆ luaT_callTM()

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

Definition at line 103 of file ltm.cpp.

References lua_State::ci, isLuacode, luaD_call(), luaD_callnoyield(), setobj2s, and lua_State::top.

Referenced by luaV_finishset().

◆ luaT_callTMres()

LUAI_FUNC void luaT_callTMres ( lua_State L,
const TValue f,
const TValue p1,
const TValue p2,
StkId  p3 
)

◆ luaT_gettm()

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

Definition at line 60 of file ltm.cpp.

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

◆ luaT_gettmbyobj()

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

◆ luaT_getvarargs()

LUAI_FUNC void luaT_getvarargs ( lua_State L,
struct CallInfo ci,
StkId  where,
int  wanted 
)

Definition at line 257 of file ltm.cpp.

References checkstackGCp, CallInfo::func, i, CallInfo::l, s2v, setnilvalue, setobjs2s, lua_State::top, and CallInfo::u.

Referenced by luaV_execute().

◆ luaT_init()

LUAI_FUNC void luaT_init ( lua_State L)

Definition at line 38 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_trybinassocTM()

LUAI_FUNC void luaT_trybinassocTM ( lua_State L,
const TValue p1,
const TValue p2,
int  inv,
StkId  res,
TMS  event 
)

Definition at line 174 of file ltm.cpp.

References luaT_trybinTM().

Referenced by luaT_trybiniTM(), and luaV_execute().

◆ luaT_trybiniTM()

LUAI_FUNC void luaT_trybiniTM ( lua_State L,
const TValue p1,
lua_Integer  i2,
int  inv,
StkId  res,
TMS  event 
)

Definition at line 183 of file ltm.cpp.

References luaT_trybinassocTM(), and setivalue.

Referenced by luaV_execute().

◆ luaT_trybinTM()

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

◆ luaT_tryconcatTM()

LUAI_FUNC void luaT_tryconcatTM ( lua_State L)

Definition at line 167 of file ltm.cpp.

References callbinTM(), luaG_concaterror(), s2v, TM_CONCAT, and lua_State::top.

Referenced by luaV_concat().