std::is_invocable,std::is_invocable_r,std::is_nothrow_invocable, (3) - Linux Manuals
std::is_invocable,std::is_invocable_r,std::is_nothrow_invocable,: std::is_invocable,std::is_invocable_r,std::is_nothrow_invocable,
NAME
std::is_invocable,std::is_invocable_r,std::is_nothrow_invocable, - std::is_invocable,std::is_invocable_r,std::is_nothrow_invocable,
Synopsis
Inherited from std::integral_constant
Defined in header
template
struct is_invocable;
template
struct is_invocable_r;
template
struct is_nothrow_invocable;
template
struct is_nothrow_invocable_r;
1)
determines whether INVOKE(declval<Fn>(), declval<ArgTypes>()...)
treated as an unevaluated operand, where INVOKE is the operation defined in
Callable.
2)
result that is convertible to R. Formally, determines whether
INVOKE<R>(declval<Fn>(), declval<ArgTypes>()...)
unevaluated operand, where INVOKE is the operation defined in Callable
3)
and that such call is known not to throw any exceptions.
4)
result that is convertible to R
conversion)
Fn, R and all types in the parameter pack ArgTypes shall each be a complete type,
(possibly cv-qualified)
is undefined.
If an instantiation of a template above depends, directly or indirectly, on an
incomplete type, and that instantiation could yield a different result if that type
were hypothetically completed, the behavior is undefined.
Defined in header
template
inline constexpr bool is_invocable_v
ArgTypes...>::value;
template
inline constexpr bool is_invocable_r_v
Fn, ArgTypes...>::value;
template
inline constexpr bool is_nothrow_invocable_v
std::is_nothrow_invocable<Fn, ArgTypes...>::value;
template
inline constexpr bool is_nothrow_invocable_r_v
std::is_nothrow_invocable_r<R, Fn, ArgTypes...>::value;
Member constants
value
[static]
Member functions
operator bool converts the object to bool, returns value
operator()
(C++14) Member types
Type
value_type bool
type Examples
// Run this code
See also
invoke
(C++17)
result_of
invoke_result