Luwra
Minimal-overhead Lua wrapper for C++
Classes | Public Types | List of all members
luwra::internal::FunctionWrapperImpl< Ret, Args > Struct Template Reference

Classes

struct  ImplementationNonVoid
 
struct  ImplementationVoid
 

Public Types

using Implementation = typename MakeIndexSequence< sizeof...(Args)>::template Relay< ImplementationPicker >
 
template<size_t... Indices>
using ImplementationPicker = typename std::conditional< std::is_same< Ret, void >::value, ImplementationVoid< Indices... >, ImplementationNonVoid< Indices... > >::type
 

Member Typedef Documentation

§ Implementation

template<typename Ret, typename... Args>
using luwra::internal::FunctionWrapperImpl< Ret, Args >::Implementation = typename MakeIndexSequence<sizeof...(Args)>::template Relay< ImplementationPicker >

§ ImplementationPicker

template<typename Ret, typename... Args>
template<size_t... Indices>
using luwra::internal::FunctionWrapperImpl< Ret, Args >::ImplementationPicker = typename std::conditional< std::is_same<Ret, void>::value, ImplementationVoid<Indices...>, ImplementationNonVoid<Indices...> >::type