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

#include <sol.hpp>

Public Types

template<std::size_t i>
using arg_at = void_tuple_element_t< i, args_tuple >
 
typedef types< Args... > args_list
 
typedef std::tuple< Args... > args_tuple
 
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_pointer_type
 
typedef meta::conditional_t< std::is_void< T >::value, R(Args...), R(first_type, Args...)> free_function_type
 
typedef R() function_type(Args...)
 
typedef T object_type
 
typedef R return_type
 
typedef tuple_types< R > returns_list
 
typedef std::remove_pointer_t< free_function_pointer_typesignature_type
 

Static Public Attributes

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)
 
static constexpr bool has_c_var_arg = has_c_variadic
 
static constexpr bool is_member_function = std::is_void<T>::value
 
static constexpr const bool is_noexcept = it_is_noexcept
 

Private Types

using first_type = meta::conditional_t< std::is_void< T >::value, int, T > &
 

Detailed Description

template<bool it_is_noexcept, bool has_c_variadic, typename T, typename R, typename... Args>
struct sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >

Definition at line 1548 of file sol.hpp.

Member Typedef Documentation

◆ arg_at

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
template<std::size_t i>
using sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::arg_at = void_tuple_element_t<i, args_tuple>

Definition at line 1569 of file sol.hpp.

◆ args_list

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef types<Args...> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::args_list

Definition at line 1558 of file sol.hpp.

◆ args_tuple

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef std::tuple<Args...> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::args_tuple

Definition at line 1559 of file sol.hpp.

◆ first_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
using sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::first_type = meta::conditional_t<std::is_void<T>::value, int, T>&
private

Definition at line 1550 of file sol.hpp.

◆ free_args_list

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef meta::conditional_t<std::is_void<T>::value, args_list, types<first_type, Args...> > sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::free_args_list

Definition at line 1564 of file sol.hpp.

◆ free_function_pointer_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef meta::conditional_t<std::is_void<T>::value, R (*)(Args...), R (*)(first_type, Args...)> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::free_function_pointer_type

Definition at line 1566 of file sol.hpp.

◆ free_function_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef meta::conditional_t<std::is_void<T>::value, R(Args...), R(first_type, Args...)> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::free_function_type

Definition at line 1565 of file sol.hpp.

◆ function_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef R() sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::function_type(Args...)

Definition at line 1563 of file sol.hpp.

◆ object_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef T sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::object_type

Definition at line 1560 of file sol.hpp.

◆ return_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef R sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::return_type

Definition at line 1561 of file sol.hpp.

◆ returns_list

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef tuple_types<R> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::returns_list

Definition at line 1562 of file sol.hpp.

◆ signature_type

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
typedef std::remove_pointer_t<free_function_pointer_type> sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::signature_type

Definition at line 1567 of file sol.hpp.

Member Data Documentation

◆ arity

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
constexpr std::size_t sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::arity = sizeof...(Args)
inlinestaticconstexpr

Definition at line 1556 of file sol.hpp.

◆ free_arity

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
constexpr std::size_t sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::free_arity = sizeof...(Args) + static_cast<std::size_t>(!std::is_void<T>::value)
inlinestaticconstexpr

Definition at line 1557 of file sol.hpp.

◆ has_c_var_arg

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
constexpr bool sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::has_c_var_arg = has_c_variadic
inlinestaticconstexpr

Definition at line 1555 of file sol.hpp.

◆ is_member_function

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
constexpr bool sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::is_member_function = std::is_void<T>::value
inlinestaticconstexpr

Definition at line 1554 of file sol.hpp.

◆ is_noexcept

template<bool it_is_noexcept, bool has_c_variadic, typename T , typename R , typename... Args>
constexpr const bool sol::meta::meta_detail::basic_traits< it_is_noexcept, has_c_variadic, T, R, Args >::is_noexcept = it_is_noexcept
inlinestaticconstexpr

Definition at line 1553 of file sol.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Aug 11 2024 02:24:32