Luwra
Minimal-overhead Lua wrapper for C++
Classes | Typedefs | Functions
luwra::internal Namespace Reference

Classes

struct  _DropFromList
 
struct  _DropFromList< IndexSequence< Index, IndexTail... >, Head, Tail... >
 
struct  _DropFromList< IndexSequence<>, Types... >
 
struct  _MakeIndexSequence
 
struct  _MakeIndexSequence< 0, Indices... >
 
struct  _Match
 
struct  _Match< Compare, TypeList< Left, LeftTail... >, TypeList< Right, RightTail... > >
 
struct  _Match< Compare, TypeList<>, TypeList<> >
 
struct  _PrefixOf
 
struct  _PrefixOf< Compare, TypeList< Prefix, PrefixTail... >, TypeList< Base, BaseTail... > >
 
struct  _PrefixOf< Compare, TypeList<>, TypeList< Types... > >
 
struct  _ReadResults
 
struct  _ReadResults<>
 
struct  _StackWalker
 
struct  _TuplePusher
 
struct  CallableInfo
 
struct  CallableInfo< Callable & >
 
struct  CallableInfo< Callable && >
 
struct  CallableInfo< const Callable >
 
struct  CallableInfo< const volatile Callable >
 
struct  CallableInfo< Ret(*)(Args...)>
 
struct  CallableInfo< Ret(Args...)>
 
struct  CallableInfo< Ret(Klass::*)(Args...) const >
 
struct  CallableInfo< Ret(Klass::*)(Args...) const volatile >
 
struct  CallableInfo< Ret(Klass::*)(Args...) volatile >
 
struct  CallableInfo< Ret(Klass::*)(Args...)>
 
struct  CallableInfo< volatile Callable >
 
struct  FunctionWrapperImpl
 
struct  IndexSequence
 
struct  InferValueType
 
struct  MemberInfo
 
struct  MemberInfo< const Member >
 
struct  MemberInfo< const volatile Member >
 
struct  MemberInfo< Field Klass::* >
 
struct  MemberInfo< Member & >
 
struct  MemberInfo< Member && >
 
struct  MemberInfo< Ret(Klass::*)(Args...) const >
 
struct  MemberInfo< Ret(Klass::*)(Args...) const volatile >
 
struct  MemberInfo< Ret(Klass::*)(Args...) volatile >
 
struct  MemberInfo< Ret(Klass::*)(Args...)>
 
struct  MemberInfo< volatile Member >
 
struct  MemberWrapper
 
struct  MemberWrapper< const FieldType BaseKlass::*, Klass >
 
struct  MemberWrapper< FieldType BaseKlass::*, Klass >
 
struct  MemberWrapper< Ret(BaseKlass::*)(Args...) const volatile, Klass >
 
struct  MemberWrapper< Ret(BaseKlass::*)(Args...) const, Klass >
 
struct  MemberWrapper< Ret(BaseKlass::*)(Args...) volatile, Klass >
 
struct  MemberWrapper< Ret(BaseKlass::*)(Args...), Klass >
 
struct  MethodWrapperImpl
 
struct  NumericTransportValue
 
struct  NumericTransportValue< Integer >
 
struct  NumericTransportValue< Number >
 
struct  NumericValueBase
 
struct  Path
 
struct  PushableI
 
struct  PushableT
 
struct  StackMapper
 
struct  StackMapper< void >
 
struct  StateBundle
 
struct  TableAccessor
 
struct  TypeList
 
struct  UserTypeReg
 
struct  UserTypeWrapper
 
struct  With
 
struct  Wrapper
 
struct  Wrapper< Ret Klasss::* >
 
struct  Wrapper< Ret(*)(Args...)>
 
struct  Wrapper< Ret(Args...)>
 
struct  Wrapper< Ret(Klasss::*)(Args...) const >
 
struct  Wrapper< Ret(Klasss::*)(Args...) const volatile >
 
struct  Wrapper< Ret(Klasss::*)(Args...) volatile >
 
struct  Wrapper< Ret(Klasss::*)(Args...)>
 

Typedefs

template<typename Callable >
using ArgumentsOf = typename CallableInfo< Callable >::Arguments
 
template<bool value>
using BoolConstant = std::integral_constant< bool, value >
 
template<size_t Count>
using MakeIndexSequence = typename _MakeIndexSequence< Count >::Result
 
template<typename... Types>
using ReadResults = typename _ReadResults< Types... >::Type
 
template<typename Callable >
using ReturnTypeOf = typename CallableInfo< Callable >::ReturnType
 
using SharedPushableImpl = std::shared_ptr< PushableI >
 
template<typename Callable >
using SignatureOf = typename CallableInfo< Callable >::Signature
 
template<typename... Types>
using StackWalker = typename MakeIndexSequence< sizeof...(Types)>::template Relay< _StackWalker< Types... >::template Walker >
 
template<typename UserType >
using StripUserType = typename std::remove_cv< UserType >::type
 
template<typename Parent , typename Key >
using TableAccessorPath = TableAccessor< Path< Parent, Key > >
 
template<typename... Contents>
using TuplePusher = typename MakeIndexSequence< sizeof...(Contents)>::template Relay< _TuplePusher< Contents... >::template Pusher >
 

Functions

int referenceValue (State *state, int index)
 
template<typename Sig >
static int wrapCallable (State *state)
 

Typedef Documentation

◆ ArgumentsOf

template<typename Callable >
using luwra::internal::ArgumentsOf = typedef typename CallableInfo<Callable>::Arguments

◆ BoolConstant

template<bool value>
using luwra::internal::BoolConstant = typedef std::integral_constant<bool, value>

◆ MakeIndexSequence

template<size_t Count>
using luwra::internal::MakeIndexSequence = typedef typename _MakeIndexSequence<Count>::Result

◆ ReadResults

template<typename... Types>
using luwra::internal::ReadResults = typedef typename _ReadResults<Types...>::Type

◆ ReturnTypeOf

template<typename Callable >
using luwra::internal::ReturnTypeOf = typedef typename CallableInfo<Callable>::ReturnType

◆ SharedPushableImpl

using luwra::internal::SharedPushableImpl = typedef std::shared_ptr<PushableI>

◆ SignatureOf

template<typename Callable >
using luwra::internal::SignatureOf = typedef typename CallableInfo<Callable>::Signature

◆ StackWalker

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

◆ StripUserType

template<typename UserType >
using luwra::internal::StripUserType = typedef typename std::remove_cv<UserType>::type

◆ TableAccessorPath

template<typename Parent , typename Key >
using luwra::internal::TableAccessorPath = typedef TableAccessor<Path<Parent, Key> >

◆ TuplePusher

template<typename... Contents>
using luwra::internal::TuplePusher = typedef typename MakeIndexSequence<sizeof...(Contents)>::template Relay< _TuplePusher<Contents...>::template Pusher >

Function Documentation

◆ referenceValue()

int luwra::internal::referenceValue ( State state,
int  index 
)
inline

◆ wrapCallable()

template<typename Sig >
static int luwra::internal::wrapCallable ( State state)
static