Luwra
Minimal-overhead Lua wrapper for C++
Namespaces | Typedefs | Functions
auxiliary.hpp File Reference

Namespaces

namespace  luwra
 

Typedefs

using luwra::MemberMap = std::map< Pushable, Pushable >
 Allows mixed-type map of members.
 

Functions

template<typename Iterable >
bool luwra::equal (State *state, const Iterable &indices)
 Check if 0 or more values are equal.
 
bool luwra::equal (State *state, int index1, int index2)
 Check if two values are equal.
 
template<typename Type , typename Key >
Type luwra::getField (State *state, int index, Key &&key)
 Retrieve a field from a table.
 
template<typename Type >
Type luwra::getGlobal (State *state, const char *name)
 Retrieve a value from the global namespace.
 
void luwra::setFields (State *state, int index, const MemberMap &fields)
 Apply key-value pairs to a table.
 
template<typename Key , typename Type >
void luwra::setFields (State *state, int index, Key &&key, Type &&value)
 Set the field of a table.
 
template<typename Key1 , typename Type1 , typename Key2 , typename Type2 , typename... Pairs>
void luwra::setFields (State *state, int index, Key1 &&key1, Type1 &&value1, Key2 &&key2, Type2 &&value2, Pairs &&... rest)
 Set multiple fields at once. Allows you to provide multiple key-value pairs.
 
template<typename Type >
void luwra::setGlobal (State *state, const char *name, Type &&value)
 Register a value in the global namespace.
 
void luwra::setMetatable (State *state, const char *name)
 Set a registered metatable for the table on top of the stack.