boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args > Struct Template Reference

Documentation

template<typename IsInvocable, typename Ret, typename T, typename... Args>
struct boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args >

Definition at line 134 of file is_invocable_impl.hpp.

Public Types

using traits = detail::traits< T >
 
using test = detail::test_invoke< traits >
 
using result = decltype(test{}(0, ::std::declval< Args >()...))
 
using type = std::integral_constant< bool, std::is_convertible< typename result::_::type, Ret >::value||std::is_same< Ret, void >::value >
 

Member Typedef Documentation

◆ result

template<typename IsInvocable , typename Ret , typename T , typename... Args>
using boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args >::result = decltype(test{}(0, ::std::declval<Args>()...))

Definition at line 137 of file is_invocable_impl.hpp.

◆ test

template<typename IsInvocable , typename Ret , typename T , typename... Args>
using boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args >::test = detail::test_invoke<traits>

Definition at line 136 of file is_invocable_impl.hpp.

◆ traits

template<typename IsInvocable , typename Ret , typename T , typename... Args>
using boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args >::traits = detail::traits<T>

Definition at line 135 of file is_invocable_impl.hpp.

◆ type

template<typename IsInvocable , typename Ret , typename T , typename... Args>
using boost::callable_traits::detail::is_invocable_r_impl< IsInvocable, Ret, T, Args >::type = std::integral_constant<bool, std::is_convertible<typename result::_::type, Ret>::value || std::is_same<Ret, void>::value>

Definition at line 138 of file is_invocable_impl.hpp.


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