[#BloombergLP-bslstl-Function_InvokerUtil_IsFuncInvocableImp-03] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::Function_InvokerUtil_IsFuncInvocableImp :relfileprefix: ../../ :mrdocs: forward declaration == Synopsis Declared in `<bslstl_function_invokerutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class VOID_TYPE, class RET, class FUNC, class... ARGS> struct Function_InvokerUtil_IsFuncInvocableImp : xref:bsl/false_type.adoc[bsl::false_type] ---- == Base Classes [cols="1,4"] |=== | Name| Description | `xref:bsl/false_type.adoc[bsl::false_type]` | Metafunction representing the boolean constant `false`. |=== == Specializations [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Function_InvokerUtil_IsFuncInvocableImp-04.adoc[`Function_InvokerUtil_IsFuncInvocableImp<bslmf::VoidType<Function_InvokerUtil_ResultType<FUNC, ARGS...>::type>::type, RET, FUNC, ARGS...>`] | This component‐private `struct` template provides a partial specialization of `Function_InvokerUtil_IsFuncInvocableImp` for `FUNC` types for which `bsl::invoke_result<T, FWD_ARGS...>` provides a nested `type` typedef, where `T` is the result of stripping a nothrow‐movable wrapper from `FUNC`, if present, and adding an lvalue reference, and where `FWD_ARGS...` are the types that result from forwarding objects of respective `ARGS...` types. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslstl/Function_InvokerUtil_IsFuncInvocable-0e.adoc[`Function_InvokerUtil_IsFuncInvocable<RET(ARGS...), FUNC>`] | This `struct` template implements a Boolean metafunction that publicly inherits from `bsl::true_type` if an object of the specified `FUNC` type is invocable with the specified `RET` and `ARGS...`, and publicly inherits from `bsl::false_type` otherwise. An object of `FUNC` type is invocable with `RET` and `ARGS...` if it is Lvalue‐Callable with arguments having the types of the `ARGS...`, and returns an object of type explicitly convertible to `RET`. If `RET` is `void`, then any type is considered explicitly convertible to `RET`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#