37#define INSTR_SETTABLE (-10)
38#define INSTR_POP (-11)
39#define INSTR_PUSHREF (-12)
40#define INSTR_SETMETATABLE (-13)
88 std::vector<PackedInstr>
i;
103typedef void *(*PackInFunc)(lua_State *L,
int idx);
#define DISABLE_CLASS_COPY(C)
Definition: basic_macros.h:35
#define ALLOW_CLASS_MOVE(C)
Definition: basic_macros.h:41
void *(* PackInFunc)(lua_State *L, int idx)
Definition: c_packer.h:103
void script_unpack(lua_State *L, PackedValue *val)
Definition: c_packer.cpp:508
PackedValue * script_pack(lua_State *L, int idx)
Definition: c_packer.cpp:491
void script_register_packer(lua_State *L, const char *regname, PackInFunc fin, PackOutFunc fout)
Definition: c_packer.cpp:199
void script_dump_packed(const PackedValue *val)
Definition: c_packer.cpp:645
void(* PackOutFunc)(lua_State *L, void *ptr)
Definition: c_packer.h:111
#define idx(x, y)
Definition: noise.cpp:552
Represents a single instruction that pushes a new value or operates with existing ones.
Definition: c_packer.h:46
s16 type
Definition: c_packer.h:47
bool keep_ref
Definition: c_packer.h:49
u16 uidata1
Definition: c_packer.h:56
std::string sdata
Definition: c_packer.h:76
void * ptrdata
Definition: c_packer.h:67
bool bdata
Definition: c_packer.h:53
lua_Number ndata
Definition: c_packer.h:54
u16 uidata2
Definition: c_packer.h:56
s32 sidata2
Definition: c_packer.h:65
u16 set_into
Definition: c_packer.h:48
PackedInstr()
Definition: c_packer.h:78
s32 sidata1
Definition: c_packer.h:65
bool pop
Definition: c_packer.h:50
A packed value can be a primitive like a string or number but also a table including all of its conte...
Definition: c_packer.h:87
bool contains_userdata
Definition: c_packer.h:90
~PackedValue()
Definition: c_packer.cpp:624
std::vector< PackedInstr > i
Definition: c_packer.h:88