iox::cxx::is_invocable_r🔗
Verifies whether the passed Callable type is in fact invocable with the given arguments and the result of the invocation is convertible to ReturnType. More...
#include <iceoryx_hoofs/cxx/type_traits.hpp>
Public Functions🔗
Name | |
---|---|
template <typename C ,typename... As> constexpr std::true_type |
test(std::enable_if_t< std::is_convertible< typename cxx::invoke_result< C, As... >::type, ReturnType >::value > * ) |
template <typename C ,typename... As> constexpr std::false_type |
test(... ) |
Public Attributes🔗
Name | |
---|---|
constexpr bool | value |
Detailed Description🔗
template <typename ReturnType ,
typename Callable ,
typename... ArgTypes>
struct iox::cxx::is_invocable_r;
Verifies whether the passed Callable type is in fact invocable with the given arguments and the result of the invocation is convertible to ReturnType.
Note: This is an implementation of std::is_invokable_r (C++17).
Public Functions Documentation🔗
function test🔗
template <typename C ,
typename... As>
static inline constexpr std::true_type test(
std::enable_if_t< std::is_convertible< typename cxx::invoke_result< C, As... >::type, ReturnType >::value > *
)
function test🔗
template <typename C ,
typename... As>
static inline constexpr std::false_type test(
...
)
Public Attributes Documentation🔗
variable value🔗
static constexpr bool value = decltype(test<Callable, ArgTypes...>(nullptr))::value;
Updated on 2 April 2022 at 16:37:47 CEST