CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
ltm.h-Dateireferenz
#include "lobject.h"
+ Include-Abhängigkeitsdiagramm für ltm.h:
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Makrodefinitionen

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

Aufzählungen

enum  TMS {
  TM_INDEX, TM_NEWINDEX, TM_GC, TM_MODE,
  TM_EQ, TM_ADD, TM_SUB, TM_MUL,
  TM_DIV, TM_MOD, TM_POW, TM_UNM,
  TM_LEN, TM_LT, TM_LE, TM_CONCAT,
  TM_CALL, TM_N
}
 

Funktionen

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)
 

Variablen

LUAI_DATA const char *const luaT_typenames []
 

Makro-Dokumentation

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

Definiert in Zeile 44 der Datei ltm.h.

#define gfasttm (   g,
  et,
 
)
Wert:
((et) == NULL ? NULL : \
((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e]))

Definiert in Zeile 41 der Datei ltm.h.

Dokumentation der Aufzählungstypen

enum TMS
Aufzählungswerte
TM_INDEX 
TM_NEWINDEX 
TM_GC 
TM_MODE 
TM_EQ 
TM_ADD 
TM_SUB 
TM_MUL 
TM_DIV 
TM_MOD 
TM_POW 
TM_UNM 
TM_LEN 
TM_LT 
TM_LE 
TM_CONCAT 
TM_CALL 
TM_N 

Definiert in Zeile 18 der Datei ltm.h.

18  {
19  TM_INDEX,
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;

Dokumentation der Funktionen

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

Definiert in Zeile 50 der Datei ltm.c.

50  {
51  const TValue *tm = luaH_getstr(events, ename);
52  lua_assert(event <= TM_EQ);
53  if (ttisnil(tm)) { /* no tag method? */
54  events->flags |= cast_byte(1u<<event); /* cache this fact */
55  return NULL;
56  }
57  else return tm;
58 }
LUAI_FUNC const TValue* luaT_gettmbyobj ( lua_State L,
const TValue o,
TMS  event 
)

Definiert in Zeile 61 der Datei ltm.c.

61  {
62  Table *mt;
63  switch (ttype(o)) {
64  case LUA_TTABLE:
65  mt = hvalue(o)->metatable;
66  break;
67  case LUA_TUSERDATA:
68  mt = uvalue(o)->metatable;
69  break;
70  default:
71  mt = G(L)->mt[ttype(o)];
72  }
73  return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject);
74 }
LUAI_FUNC void luaT_init ( lua_State L)

Definiert in Zeile 30 der Datei ltm.c.

30  {
31  static const char *const luaT_eventname[] = { /* ORDER TM */
32  "__index", "__newindex",
33  "__gc", "__mode", "__eq",
34  "__add", "__sub", "__mul", "__div", "__mod",
35  "__pow", "__unm", "__len", "__lt", "__le",
36  "__concat", "__call"
37  };
38  int i;
39  for (i=0; i<TM_N; i++) {
40  G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]);
41  luaS_fix(G(L)->tmname[i]); /* never collect these names */
42  }
43 }

Variablen-Dokumentation

LUAI_DATA const char* const luaT_typenames[]

Definiert in Zeile 46 der Datei ltm.h.