OpenMiner  0.0.1a
Voxel game engine
Public Types | Static Public Attributes | Private Types | List of all members
sol::lua_bind_traits< Signature > Struct Template Reference

#include <sol.hpp>

Inheritance diagram for sol::lua_bind_traits< Signature >:
sol::meta::bind_traits< Signature > sol::meta::meta_detail::callable_traits< Signature > sol::meta::meta_detail::fx_traits< std::decay_t< Signature > > sol::meta::meta_detail::basic_traits< false, false, void, void >

Public Types

typedef std::integral_constant< bool, meta::count_for< is_variadic_arguments, typename base_t::args_list >::value !=0 > runtime_variadics_t
 
- Public Types inherited from sol::meta::meta_detail::basic_traits< false, false, void, void >
typedef types< Args... > args_list
 
typedef std::tuple< Args... > args_tuple
 
typedef void object_type
 
typedef void return_type
 
typedef tuple_types< void > returns_list
 
typedef void( function_type) (Args...)
 
typedef std::conditional_t< std::is_void< void >::value, args_list, types< first_type, Args... > > free_args_list
 
typedef std::conditional_t< std::is_void< void >::value, void(Args...), void(first_type, Args...)> free_function_type
 
typedef std::conditional_t< std::is_void< void >::value, void(*)(Args...), void(*)(first_type, Args...)> free_function_pointer_type
 
typedef std::remove_pointer_t< free_function_pointer_typesignature_type
 
using arg_at = void_tuple_element_t< i, args_tuple >
 

Static Public Attributes

static const std::size_t true_arity = base_t::arity
 
static const std::size_t arity = detail::accumulate_list<std::size_t, 0, lua_size, typename base_t::args_list>::value - meta::count_for<is_transparent_argument, typename base_t::args_list>::value
 
static const std::size_t true_free_arity = base_t::free_arity
 
static const std::size_t free_arity = detail::accumulate_list<std::size_t, 0, lua_size, typename base_t::free_args_list>::value - meta::count_for<is_transparent_argument, typename base_t::args_list>::value
 
- Static Public Attributes inherited from sol::meta::meta_detail::basic_traits< false, false, void, void >
static const bool is_noexcept
 
static const bool is_member_function
 
static const bool has_c_var_arg
 
static const std::size_t arity
 
static const std::size_t free_arity
 

Private Types

typedef meta::bind_traits< Signature > base_t
 

Member Typedef Documentation

§ base_t

template<typename Signature >
typedef meta::bind_traits<Signature> sol::lua_bind_traits< Signature >::base_t
private

§ runtime_variadics_t

template<typename Signature >
typedef std::integral_constant<bool, meta::count_for<is_variadic_arguments, typename base_t::args_list>::value != 0> sol::lua_bind_traits< Signature >::runtime_variadics_t

Member Data Documentation

§ arity

template<typename Signature >
const std::size_t sol::lua_bind_traits< Signature >::arity = detail::accumulate_list<std::size_t, 0, lua_size, typename base_t::args_list>::value - meta::count_for<is_transparent_argument, typename base_t::args_list>::value
static

§ free_arity

template<typename Signature >
const std::size_t sol::lua_bind_traits< Signature >::free_arity = detail::accumulate_list<std::size_t, 0, lua_size, typename base_t::free_args_list>::value - meta::count_for<is_transparent_argument, typename base_t::args_list>::value
static

§ true_arity

template<typename Signature >
const std::size_t sol::lua_bind_traits< Signature >::true_arity = base_t::arity
static

§ true_free_arity

template<typename Signature >
const std::size_t sol::lua_bind_traits< Signature >::true_free_arity = base_t::free_arity
static

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