OpenMiner  0.0.1a
Voxel game engine
Public Types | Public Member Functions | Static Public Member Functions | List of all members
sol::function_detail::upvalue_this_member_function< T, Function, is_yielding > Struct Template Reference

#include <sol.hpp>

Public Types

typedef std::remove_pointer_t< std::decay_t< Function > > function_type
 
typedef lua_bind_traits< function_typetraits_type
 

Public Member Functions

int operator() (lua_State *L)
 

Static Public Member Functions

static int real_call (lua_State *L) noexcept(traits_type::is_noexcept)
 
static int call (lua_State *L)
 

Member Typedef Documentation

§ function_type

template<typename T , typename Function , bool is_yielding>
typedef std::remove_pointer_t<std::decay_t<Function> > sol::function_detail::upvalue_this_member_function< T, Function, is_yielding >::function_type

§ traits_type

template<typename T , typename Function , bool is_yielding>
typedef lua_bind_traits<function_type> sol::function_detail::upvalue_this_member_function< T, Function, is_yielding >::traits_type

Member Function Documentation

§ call()

template<typename T , typename Function , bool is_yielding>
static int sol::function_detail::upvalue_this_member_function< T, Function, is_yielding >::call ( lua_State *  L)
inlinestatic
14049  {
14050  int nr = detail::typed_static_trampoline<decltype(&real_call), (&real_call)>(L);
14051  if (is_yielding) {
14052  return lua_yield(L, nr);
14053  }
14054  else {
14055  return nr;
14056  }
14057  }

§ operator()()

template<typename T , typename Function , bool is_yielding>
int sol::function_detail::upvalue_this_member_function< T, Function, is_yielding >::operator() ( lua_State *  L)
inline
14059  {
14060  return call(L);
14061  }
static int call(lua_State *L)
Definition: sol.hpp:14049

§ real_call()

template<typename T , typename Function , bool is_yielding>
static int sol::function_detail::upvalue_this_member_function< T, Function, is_yielding >::real_call ( lua_State *  L)
inlinestaticnoexcept
14041  {
14042  // Layout:
14043  // idx 1...n: verbatim data of member variable pointer
14044  auto memberdata = stack::stack_detail::get_as_upvalues<function_type>(L);
14045  function_type& memfx = memberdata.first;
14046  return call_detail::call_wrapped<T, false, false>(L, memfx);
14047  }
std::remove_pointer_t< std::decay_t< Function > > function_type
Definition: sol.hpp:14038

The documentation for this struct was generated from the following file: