The call hook: is called when the interpreter calls a function. The hook is called just after Lua enters the new function, before the function gets its arguments.
</summary>
</member>
<membername="F:KeraLua.LuaHookMask.Return">
<summary>
The return hook: is called when the interpreter returns from a function. The hook is called just before Lua leaves the function. There is no standard way to access the values to be returned by the function.
</summary>
</member>
<membername="F:KeraLua.LuaHookMask.Line">
<summary>
The line hook: is called when the interpreter is about to start the execution of a new line of code, or when it jumps back in the code (even to the same line). (This event only happens while Lua is executing a Lua function.)
</summary>
</member>
<membername="F:KeraLua.LuaHookMask.Count">
<summary>
The count hook: is called after the interpreter executes every count instructions. (This event only happens while Lua is executing a Lua function.)
</summary>
</member>
<membername="T:KeraLua.LuaFunction">
<summary>
Type for C# callbacks
In order to communicate properly with Lua, a C function must use the following protocol, which defines the way parameters and results are passed: a C function receives its arguments from Lua in its stack in direct order (the first argument is pushed first). So, when the function starts, lua_gettop(L) returns the number of arguments received by the function. The first argument (if any) is at index 1 and its last argument is at index lua_gettop(L). To return values to Lua, a C function just pushes them onto the stack, in direct order (the first result is pushed first), and returns the number of results. Any other value in the stack below the results will be properly discarded by Lua. Like a Lua function, a C function called by Lua can also return many results.
</summary>
<paramname="luaState"></param>
<returns></returns>
</member>
<membername="T:KeraLua.LuaHookFunction">
<summary>
Type for debugging hook functions callbacks.
</summary>
<paramname="luaState"></param>
<paramname="ar"></param>
</member>
<membername="T:KeraLua.LuaKFunction">
<summary>
Type for continuation functions
</summary>
<paramname="L"></param>
<paramname="status"></param>
<paramname="ctx"></param>
<returns></returns>
</member>
<membername="T:KeraLua.LuaReader">
<summary>
The reader function used by lua_load. Every time it needs another piece of the chunk, lua_load calls the reader, passing along its data parameter. The reader must return a pointer to a block of memory with a new piece of the chunk and set size to the block size
</summary>
<paramname="L"></param>
<paramname="ud"></param>
<paramname="sz"></param>
<returns></returns>
</member>
<membername="T:KeraLua.LuaWriter">
<summary>
</summary>
<paramname="L"></param>
<paramname="p"></param>
<paramname="size"></param>
<paramname="ud"></param>
<returns></returns>
</member>
<membername="T:KeraLua.LuaAlloc">
<summary>
The type of the memory-allocation function used by Lua states. The allocator function must provide a functionality similar to realloc
</summary>
<paramname="ud"></param>
<paramname="ptr"></param>
<paramname="osize"></param>
<paramname="nsize"></param>
<returns></returns>
</member>
<membername="T:KeraLua.Lua">
<summary>
Lua state class, main interface to use Lua library.
</summary>
</member>
<membername="P:KeraLua.Lua.Handle">
<summary>
Internal Lua handle pointer.
</summary>
</member>
<membername="P:KeraLua.Lua.Encoding">
<summary>
Encoding for the string conversions
ASCII by default.
</summary>
</member>
<membername="P:KeraLua.Lua.ExtraSpace">
<summary>
Returns a pointer to a raw memory area associated with the given Lua state. The application can use this area for any purpose; Lua does not use it for anything.
Each new thread has this area initialized with a copy of the area of the main thread.
</summary>
<returns></returns>
</member>
<membername="P:KeraLua.Lua.MainThread">
<summary>
Get the main thread object, if the object is the main thread will be equal this
Initialize Lua state with allocator function and user data value
This method will NOT open the default libs.
Creates a new thread running in a new, independent state. Returns NULL if it cannot create the thread or the state (due to lack of memory). The argument f is the allocator function; Lua does all memory allocation for this state through this function (see lua_Alloc). The second argument, ud, is an opaque pointer that Lua passes to the allocator in every call.
</summary>
<paramname="allocator">LuaAlloc allocator function called to alloc/free memory</param>
<paramname="ud">opaque pointer passed to allocator</param>
Destroys all objects in the given Lua state (calling the corresponding garbage-collection metamethods, if any) and frees all dynamic memory used by this state
Performs an arithmetic or bitwise operation over the two values (or one, in the case of negations) at the top of the stack, with the value at the top being the second operand, pops these values, and pushes the result of the operation. The function follows the semantics of the corresponding Lua operator (that is, it may call metamethods).
To call a function you must use the following protocol: first, the function to be called is pushed onto the stack; then, the arguments to the function are pushed in direct order;
that is, the first argument is pushed first. Finally you call lua_call; nargs is the number of arguments that you pushed onto the stack.
All arguments and the function value are popped from the stack when the function is called. The function results are pushed onto the stack when the function returns.
The number of results is adjusted to nresults, unless nresults is LUA_MULTRET. In this case, all results from the function are pushed;
Lua takes care that the returned values fit into the stack space, but it does not ensure any extra space in the stack. The function results are pushed onto the stack in direct order (the first result is pushed first), so that after the call the last result is on the top of the stack.
Ensures that the stack has space for at least n extra slots (that is, that you can safely push up to n values into it). It returns false if it cannot fulfill the request,
Compares two Lua values. Returns 1 if the value at index index1 satisfies op when compared with the value at index index2
</summary>
<paramname="index1"></param>
<paramname="index2"></param>
<paramname="comparison"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.Concat(System.Int32)">
<summary>
Concatenates the n values at the top of the stack, pops them, and leaves the result at the top. If n is 1, the result is the single value on the stack (that is, the function does nothing);
Creates a new empty table and pushes it onto the stack. Parameter narr is a hint for how many elements the table will have as a sequence; parameter nrec is a hint for how many other elements the table will have
Dumps a function as a binary chunk. Receives a Lua function on the top of the stack and produces a binary chunk that, if loaded again, results in a function equivalent to the one dumped
</summary>
<paramname="writer"></param>
<paramname="data"></param>
<paramname="stripDebug"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.Error">
<summary>
Generates a Lua error, using the value at the top of the stack as the error object. This function does a long jump
Returns the memory-allocation function of a given state. If ud is not NULL, Lua stores in *ud the opaque pointer given when the memory-allocator function was set.
Pushes onto the stack the value t[k], where t is the value at the given index. As in Lua, this function may trigger a metamethod for the "index" event (see §2.4).
Pushes onto the stack the value t[k], where t is the value at the given index. As in Lua, this function may trigger a metamethod for the "index" event (see §2.4).
Gets information about the n-th upvalue of the closure at index funcindex. It pushes the upvalue's value onto the stack and returns its name. Returns NULL (and pushes nothing) when the index n is greater than the number of upvalues.
For C functions, this function uses the empty string "" as a name for all upvalues. (For Lua functions, upvalues are the external local variables that the function uses, and that are consequently included in its closure.)
Upvalues have no particular order, as they are active through the whole function. They are numbered in an arbitrary order.
</summary>
<paramname="functionIndex"></param>
<paramname="n"></param>
<returns>Returns the type of the pushed value. </returns>
</member>
<membername="P:KeraLua.Lua.Hook">
<summary>
Returns the current hook function.
</summary>
</member>
<membername="P:KeraLua.Lua.HookCount">
<summary>
Returns the current hook count.
</summary>
</member>
<membername="P:KeraLua.Lua.HookMask">
<summary>
Returns the current hook mask.
</summary>
</member>
<membername="M:KeraLua.Lua.Insert(System.Int32)">
<summary>
Moves the top element into the given valid index, shifting up the elements above this index to open space. This function cannot be called with a pseudo-index, because a pseudo-index is not an actual stack position.
Push the length of the value at the given index on the stack. It is equivalent to the '#' operator in Lua (see §3.4.7) and may trigger a metamethod for the "length" event (see §2.4). The result is pushed on the stack.
Loads a Lua chunk without running it. If there are no errors, lua_load pushes the compiled chunk as a Lua function on top of the stack. Otherwise, it pushes an error message.
The lua_load function uses a user-supplied reader function to read the chunk (see lua_Reader). The data argument is an opaque value passed to the reader function.
</summary>
<paramname="reader"></param>
<paramname="data"></param>
<paramname="chunkName"></param>
<paramname="mode"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.NewTable">
<summary>
Creates a new empty table and pushes it onto the stack
</summary>
</member>
<membername="M:KeraLua.Lua.NewThread">
<summary>
Creates a new thread, pushes it on the stack, and returns a pointer to a lua_State that represents this new thread. The new thread returned by this function shares with the original thread its global environment, but has an independent execution stack.
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. The host program can freely use this memory
</summary>
<paramname="size"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.Next(System.Int32)">
<summary>
Pops a key from the stack, and pushes a key–value pair from the table at the given index (the "next" pair after the given key).
Pushes a C function onto the stack. This function receives a pointer to a C function and pushes onto the stack a Lua value of type function that, when called, invokes the corresponding C function.
Userdata represent C values in Lua. A light userdata represents a pointer, a void*. It is a value (like a number): you do not create it, it has no individual metatable, and it is not collected (as it was never created). A light userdata is equal to "any" light userdata with the same C address.
</summary>
<paramname="data"></param>
</member>
<membername="M:KeraLua.Lua.PushObject``1(``0)">
<summary>
Pushes a reference data (C# object) onto the stack.
This function uses lua_pushlightuserdata, but uses a GCHandle to store the reference inside the Lua side.
The CGHandle is create as Normal, and will be freed when the value is pop
Returns true if the two values in indices index1 and index2 are primitively equal (that is, without calling the __eq metamethod). Otherwise returns false. Also returns false if any of the indices are not valid.
</summary>
<paramname="index1"></param>
<paramname="index2"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.RawGet(System.Int32)">
<summary>
Similar to GetTable, but does a raw access (i.e., without metamethods).
</summary>
<paramname="index"></param>
<returns>Returns the type of the pushed value</returns>
Pushes onto the stack the value t[k], where t is the table at the given index and k is the pointer p represented as a light userdata. The access is raw; that is, it does not invoke the __index metamethod.
</summary>
<paramname="index"></param>
<paramname="obj"></param>
<returns>Returns the type of the pushed value. </returns>
</member>
<membername="M:KeraLua.Lua.RawLen(System.Int32)">
<summary>
Returns the raw "length" of the value at the given index: for strings, this is the string length; for tables, this is the result of the length operator ('#') with no metamethods; for userdata, this is the size of the block of memory allocated for the userdata; for other values, it is 0.
</summary>
<paramname="index"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.RawSet(System.Int32)">
<summary>
Similar to lua_settable, but does a raw assignment (i.e., without metamethods).
Does the equivalent of t[p] = v, where t is the table at the given index, p is encoded as a light userdata, and v is the value at the top of the stack.
Sets the C# delegate f as the new value of global name
</summary>
<paramname="name"></param>
<paramname="function"></param>
</member>
<membername="M:KeraLua.Lua.Remove(System.Int32)">
<summary>
Removes the element at the given valid index, shifting down the elements above this index to fill the gap. This function cannot be called with a pseudo-index, because a pseudo-index is not an actual stack position.
Moves the top element into the given valid index without shifting any element (therefore replacing the value at that given index), and then pops the top element.
Rotates the stack elements between the valid index idx and the top of the stack. The elements are rotated n positions in the direction of the top, for a positive n, or -n positions in the direction of the bottom, for a negative n. The absolute value of n must not be greater than the size of the slice being rotated. This function cannot be called with a pseudo-index, because a pseudo-index is not an actual stack position.
Sets the value of a local variable of a given activation record. It assigns the value at the top of the stack to the variable and returns its name. It also pops the value from the stack.
</summary>
<paramname="ar"></param>
<paramname="n"></param>
<returns>Returns NULL (and pops nothing) when the index is greater than the number of active local variables. </returns>
Sets the value of a local variable of a given activation record. It assigns the value at the top of the stack to the variable and returns its name. It also pops the value from the stack.
</summary>
<paramname="ar"></param>
<paramname="n"></param>
<returns>Returns NULL (and pops nothing) when the index is greater than the number of active local variables. </returns>
Does the equivalent to t[k] = v, where t is the value at the given index, v is the value at the top of the stack, and k is the value just below the top
</summary>
<paramname="index"></param>
</member>
<membername="M:KeraLua.Lua.SetTop(System.Int32)">
<summary>
Accepts any index, or 0, and sets the stack top to this index. If the new top is larger than the old one, then the new elements are filled with nil. If index is 0, then all stack elements are removed.
Sets the value of a closure's upvalue. It assigns the value at the top of the stack to the upvalue and returns its name. It also pops the value from the stack.
</summary>
<paramname="functionIndex"></param>
<paramname="n"></param>
<returns>Returns NULL (and pops nothing) when the index n is greater than the number of upvalues. </returns>
Pops a value from the stack and sets it as the new value associated to the full userdata at the given index.
</summary>
<paramname="index"></param>
</member>
<membername="P:KeraLua.Lua.Status">
<summary>
The status can be 0 (LUA_OK) for a normal thread, an error code if the thread finished the execution of a lua_resume with an error, or LUA_YIELD if the thread is suspended.
You can only call functions in threads with status LUA_OK. You can resume threads with status LUA_OK (to start a new coroutine) or LUA_YIELD (to resume a coroutine).
Converts the Lua value at the given index to the signed integral type lua_Integer. The Lua value must be an integer, or a number or string convertible to an integer (see §3.4.3); otherwise, lua_tointegerx returns 0.
Converts the Lua value at the given index to the signed integral type lua_Integer. The Lua value must be an integer, or a number or string convertible to an integer (see §3.4.3); otherwise, lua_tointegerx returns 0.
Converts the value at the given index to a generic C pointer (void*). The value can be a userdata, a table, a thread, or a function; otherwise, lua_topointer returns NULL. Different objects will give different pointers. There is no way to convert the pointer back to its original value.
Typically this function is used only for hashing and debug information.
If the value at the given index is a full userdata, returns its block address. If the value is a light userdata, returns its pointer. Otherwise, returns NULL
Exchange values between different threads of the same state.
This function pops n values from the current stack, and pushes them onto the stack to.
</summary>
<paramname="to"></param>
<paramname="n"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.Yield(System.Int32)">
<summary>
This function is equivalent to lua_yieldk, but it has no continuation (see §4.7). Therefore, when the thread resumes, it continues the function that called the function calling lua_yield.
Yields a coroutine (thread). When a C function calls lua_yieldk, the running coroutine suspends its execution, and the call to lua_resume that started this coroutine returns
</summary>
<paramname="results">Number of values from the stack that will be passed as results to lua_resume.</param>
Pushes onto the stack the metatable associated with name tname in the registry (see luaL_newmetatable) (nil if there is no metatable associated with that name)
</summary>
<paramname="tableName"></param>
<returns>Returns the type of the pushed value. </returns>
Ensures that the value t[fname], where t is the value at index idx, is a table, and pushes that table onto the stack. Returns true if it finds a previous table there and false if it creates a new table
</summary>
<paramname="index"></param>
<paramname="name"></param>
<returns></returns>
</member>
<membername="M:KeraLua.Lua.Length(System.Int32)">
<summary>
Returns the "length" of the value at the given index as a number; it is equivalent to the '#' operator in Lua
If modname is not already present in package.loaded, calls function openf with string modname as an argument and sets the call result in package.loaded[modname], as if that function has been called through require
Releases reference ref from the table at index t (see luaL_ref). The entry is removed from the table, so that the referred object can be collected. The reference ref is also freed to be used again
</summary>
<paramname="tableIndex"></param>
<paramname="reference"></param>
</member>
<membername="M:KeraLua.Lua.Where(System.Int32)">
<summary>
Pushes onto the stack a string identifying the current position of the control at level lvl in the call stack
</summary>
<paramname="level"></param>
</member>
<membername="T:KeraLua.LuaCompare">
<summary>
Used by Compare
</summary>
</member>
<membername="F:KeraLua.LuaCompare.Equal">
<summary>
compares for equality (==)
</summary>
</member>
<membername="F:KeraLua.LuaCompare.LessThen">
<summary>
compares for less than
</summary>
</member>
<membername="F:KeraLua.LuaCompare.LessOrEqual">
<summary>
compares for less or equal
</summary>
</member>
<membername="T:KeraLua.LuaDebug">
<summary>
Structure for lua debug information
</summary>
<remarks>
Do not change this struct because it must match the lua structure lua_Debug
a reasonable name for the given function. Because functions in Lua are first-class values, they do not have a fixed name: some functions can be the value of multiple global variables, while others can be stored only in a table field
</summary>
</member>
<membername="P:KeraLua.LuaDebug.NameWhat">
<summary>
explains the name field. The value of namewhat can be "global", "local", "method", "field", "upvalue", or "" (the empty string)
</summary>
</member>
<membername="P:KeraLua.LuaDebug.What">
<summary>
the string "Lua" if the function is a Lua function, "C" if it is a C function, "main" if it is the main part of a chunk
</summary>
</member>
<membername="P:KeraLua.LuaDebug.Source">
<summary>
the name of the chunk that created the function. If source starts with a '@', it means that the function was defined in a file where the file name follows the '@'.
</summary>
</member>
<membername="F:KeraLua.LuaDebug.CurrentLine">
<summary>
the current line where the given function is executing. When no line information is available, currentline is set to -1
</summary>
</member>
<membername="F:KeraLua.LuaDebug.LineDefined">
<summary>
</summary>
</member>
<membername="F:KeraLua.LuaDebug.LastLineDefined">
<summary>
the line number where the definition of the function ends.
true if the function is a vararg function (always true for C functions).
</summary>
</member>
<membername="F:KeraLua.LuaDebug.IsTailCall">
<summary>
true if this function invocation was called by a tail call. In this case, the caller of this level is not in the stack.
</summary>
</member>
<membername="P:KeraLua.LuaDebug.ShortSource">
<summary>
a "printable" version of source, to be used in error messages
</summary>
</member>
<membername="T:KeraLua.LuaGC">
<summary>
Garbage Collector operations
</summary>
</member>
<membername="F:KeraLua.LuaGC.Stop">
<summary>
Stops the garbage collector.
</summary>
</member>
<membername="F:KeraLua.LuaGC.Restart">
<summary>
Restarts the garbage collector.
</summary>
</member>
<membername="F:KeraLua.LuaGC.Collect">
<summary>
Performs a full garbage-collection cycle.
</summary>
</member>
<membername="F:KeraLua.LuaGC.Count">
<summary>
Returns the current amount of memory (in Kbytes) in use by Lua.
</summary>
</member>
<membername="F:KeraLua.LuaGC.Countb">
<summary>
Returns the remainder of dividing the current amount of bytes of memory in use by Lua by 1024
</summary>
</member>
<membername="F:KeraLua.LuaGC.Step">
<summary>
Performs an incremental step of garbage collection.
</summary>
</member>
<membername="F:KeraLua.LuaGC.SetPause">
<summary>
Sets data as the new value for the pause of the collector (see §2.5) and returns the previous value
</summary>
</member>
<membername="F:KeraLua.LuaGC.SetStepMultiplier">
<summary>
sets data as the new value for the step multiplier of the collector
</summary>
</member>
<membername="F:KeraLua.LuaGC.IsRunning">
<summary>
returns a boolean that tells whether the collector is running
</summary>
</member>
<membername="T:KeraLua.LuaHookEvent">
<summary>
Whenever a hook is called, its ar argument has its field event set to the specific event that triggered the hook
</summary>
</member>
<membername="F:KeraLua.LuaHookEvent.Call">
<summary>
The call hook: is called when the interpreter calls a function. The hook is called just after Lua enters the new function, before the function gets its arguments.
</summary>
</member>
<membername="F:KeraLua.LuaHookEvent.Return">
<summary>
The return hook: is called when the interpreter returns from a function. The hook is called just before Lua leaves the function. There is no standard way to access the values to be returned by the function.
</summary>
</member>
<membername="F:KeraLua.LuaHookEvent.Line">
<summary>
The line hook: is called when the interpreter is about to start the execution of a new line of code, or when it jumps back in the code (even to the same line). (This event only happens while Lua is executing a Lua function.)
</summary>
</member>
<membername="F:KeraLua.LuaHookEvent.Count">
<summary>
The count hook: is called after the interpreter executes every count instructions. (This event only happens while Lua is executing a Lua function.)
</summary>
</member>
<membername="F:KeraLua.LuaHookEvent.TailCall">
<summary>
Tail Call
</summary>
</member>
<membername="T:KeraLua.LuaOperation">
<summary>
Operation value used by Arith method
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Add">
<summary>
adition(+)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Sub">
<summary>
substraction (-)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Mul">
<summary>
Multiplication (*)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Mod">
<summary>
Modulo (%)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Pow">
<summary>
Exponentiation (^)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Div">
<summary>
performs float division (/)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Idiv">
<summary>
performs floor division (//)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Band">
<summary>
performs bitwise AND
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Bor">
<summary>
performs bitwise OR (|)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Bxor">
<summary>
performs bitwise exclusive OR (~)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Shl">
<summary>
performs left shift
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Shr">
<summary>
performs right shift
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Unm">
<summary>
performs mathematical negation (unary -)
</summary>
</member>
<membername="F:KeraLua.LuaOperation.Bnot">
<summary>
performs bitwise NOT (~)
</summary>
</member>
<membername="T:KeraLua.LuaRegister">
<summary>
LuaRegister store the name and the delegate to register a native function
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>