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 1044 of file sol.hpp.

Member Typedef Documentation

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 1065 of file sol.hpp.

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 1054 of file sol.hpp.

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 1055 of file sol.hpp.

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 1046 of file sol.hpp.

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 1060 of file sol.hpp.

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 1062 of file sol.hpp.

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 1061 of file sol.hpp.

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 1059 of file sol.hpp.

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 1056 of file sol.hpp.

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 1057 of file sol.hpp.

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 1058 of file sol.hpp.

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 1063 of file sol.hpp.

Member Data Documentation

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)
inlinestatic

Definition at line 1052 of file sol.hpp.

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)
inlinestatic

Definition at line 1053 of file sol.hpp.

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
inlinestatic

Definition at line 1051 of file sol.hpp.

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
inlinestatic

Definition at line 1050 of file sol.hpp.

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
inlinestatic

Definition at line 1049 of file sol.hpp.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 04:02:52