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

Classes

struct  luwra::internal::_ReadResults< Types >
 
struct  luwra::internal::_ReadResults<>
 
struct  luwra::internal::_StackWalker< Types >
 
struct  luwra::internal::StackMapper< typename >
 
struct  luwra::internal::StackMapper< void >
 
struct  luwra::internal::_StackWalker< Types >::Walker< Indices >
 

Namespaces

namespace  luwra
 
namespace  luwra::internal
 

Typedefs

template<typename... Types>
using luwra::internal::ReadResults = typename _ReadResults< Types... >::Type
 
template<typename... Types>
using luwra::internal::StackWalker = typename MakeIndexSequence< sizeof...(Types)>::template Relay< _StackWalker< Types... >::template Walker >
 

Functions

template<typename Callable , typename... ExtraArgs>
internal::ReturnTypeOf< Callable > luwra::apply (State *state, int pos, Callable &&func, ExtraArgs &&... args)
 Retrieve values from the stack in order to invoke a Callable with them.
 
template<typename Callable , typename... ExtraArgs>
size_t luwra::map (State *state, int pos, Callable &&func, ExtraArgs &&... args)
 Retrieve values from the stack in order to invoke a Callable with them, then push the result onto the stack.
 
template<typename... Types>
void luwra::push (State *state, Types &&... values)
 Push zero or more values onto the stack.
 
template<typename... Types>
size_t luwra::pushReturn (State *state, Types &&... values)
 Push zero or more return values onto the stack.
 
template<typename Type = internal::InferValueType>
auto luwra::read (State *state, int index) -> decltype(Value< Type >::read(state, index))
 Read a value off the stack.