Libsaki
Core library of Pancake Mahjong
Public Types | Static Public Attributes | List of all members
sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args > Struct Template Reference

Public Types

typedef types< Args... > args_list
 
typedef std::tuple< Args... > args_tuple
 
typedef T object_type
 
typedef R return_type
 
typedef tuple_types< R > returns_list
 
typedef R() function_type(Args...)
 
typedef meta::conditional_t< std::is_void< T >::value, args_list, types< first_type, Args... > > free_args_list
 
typedef meta::conditional_t< std::is_void< T >::value, R(Args...), R(first_type, Args...)> free_function_type
 
typedef meta::conditional_t< std::is_void< T >::value, R(*)(Args...), R(*)(first_type, Args...)> free_function_pointer_type
 
typedef std::remove_pointer_t< free_function_pointer_type > signature_type
 
template<std::size_t i>
using arg_at = void_tuple_element_t< i, args_tuple >
 

Static Public Attributes

static constexpr const bool is_noexcept = it_is_noexcept
 
static constexpr bool is_member_function = std::is_void<T>::value
 
static constexpr bool has_c_var_arg = has_c_variadic
 
static constexpr std::size_t arity = sizeof...(Args)
 
static constexpr std::size_t free_arity = sizeof...(Args) + static_cast<std::size_t>(!std::is_void<T>::value)
 

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