Example #1
-1
File: lua.go Project: szll/golua
// Creates a new user data object of specified size and returns it
func (L *State) NewUserdata(size uintptr) unsafe.Pointer {
	return unsafe.Pointer(C.lua_newuserdata(L.s, C.size_t(size)))
}
Example #2
-1
// Newuserdata.  This function allocates a new block of memory with the given size,
// pushes onto the stack a new full userdata with the block address, and returns this
// address.
//
// Userdata represent C values in Lua. A full userdata represents a block of memory. It
// is an object (like a table): you must create it, it can have its own metatable, and
// you can detect when it is being collected. A full userdata is only equal to itself (under raw equality).
//
// When Lua collects a full userdata with a gc metamethod, Lua calls the metamethod and marks
// the userdata as finalized. When this userdata is collected again then Lua frees its corresponding memory.
func (this *State) Newuserdata() {
	C.lua_newuserdata(this.luastate, C.size_t(1))
}