22#define INSTR_SETTABLE (-10)
23#define INSTR_POP (-11)
24#define INSTR_PUSHREF (-12)
25#define INSTR_SETMETATABLE (-13)
73 std::vector<PackedInstr>
i;
88typedef void *(*PackInFunc)(lua_State *L,
int idx);
#define DISABLE_CLASS_COPY(C)
Definition basic_macros.h:26
#define ALLOW_CLASS_MOVE(C)
Definition basic_macros.h:32
void *(* PackInFunc)(lua_State *L, int idx)
Definition c_packer.h:88
void script_unpack(lua_State *L, PackedValue *val)
Definition c_packer.cpp:493
PackedValue * script_pack(lua_State *L, int idx)
Definition c_packer.cpp:476
void script_register_packer(lua_State *L, const char *regname, PackInFunc fin, PackOutFunc fout)
Definition c_packer.cpp:184
void script_dump_packed(const PackedValue *val)
Definition c_packer.cpp:631
void(* PackOutFunc)(lua_State *L, void *ptr)
Definition c_packer.h:96
#define idx(x, y)
Definition noise.cpp:490
Represents a single instruction that pushes a new value or operates with existing ones.
Definition c_packer.h:31
s16 type
Definition c_packer.h:32
bool keep_ref
Definition c_packer.h:34
u16 uidata1
Definition c_packer.h:41
std::string sdata
Definition c_packer.h:61
void * ptrdata
Definition c_packer.h:52
bool bdata
Definition c_packer.h:38
lua_Number ndata
Definition c_packer.h:39
u16 uidata2
Definition c_packer.h:41
s32 sidata2
Definition c_packer.h:50
u16 set_into
Definition c_packer.h:33
PackedInstr()
Definition c_packer.h:63
s32 sidata1
Definition c_packer.h:50
bool pop
Definition c_packer.h:35
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:72
bool contains_userdata
Definition c_packer.h:75
~PackedValue()
Definition c_packer.cpp:610
std::vector< PackedInstr > i
Definition c_packer.h:73