# lua/ltm.c File Reference

`#include <string.h>`
`#include "lua.h"`
`#include "lobject.h"`
`#include "lstate.h"`
`#include "lstring.h"`
`#include "ltable.h"`
`#include "ltm.h"`
Include dependency graph for ltm.c:

Go to the source code of this file.

## Defines

#define | ltm_c
#define | LUA_CORE

## Functions

void | luaT_init (lua_State *L)
const TValue * | luaT_gettm (Table *events, TMS event, TString *ename)
const TValue * | luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event)

## Variables

const char *const | luaT_typenames []

## Define Documentation

#define ltm_c

Definition at line 10 of file ltm.c.

#define LUA_CORE

Definition at line 11 of file ltm.c.

## Function Documentation

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

Definition at line 50 of file ltm.c.

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

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

Definition at line 61 of file ltm.c.

References G, hvalue, luaH_getstr(), luaO_nilobject, ttype, and uvalue.

Referenced by call_binTM(), call_orderTM(), luaV_gettable(), luaV_settable(), and tryfuncTM().

void luaT_init | ( | lua_State * | L | ) |

Definition at line 30 of file ltm.c.

References G, luaS_fix, luaS_new, and TM_N.

Referenced by f_luaopen().

## Variable Documentation

const char* const luaT_typenames[]

Initial value:

     {
      "nil", "boolean", "userdata", "number",
      "string", "table", "function", "userdata", "thread",
      "proto", "upval"
    }

Definition at line 23 of file ltm.c.

Referenced by lua_typename(), luaG_ordererror(), and luaG_typeerror().