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.

Synopsis

Declared in <bslstl_function_invokerutil.h>

template<
    class RET,
    class FUNC,
    class... ARGS>
struct Function_InvokerUtil_IsFuncInvocableImp<bslmf::VoidType<Function_InvokerUtil_ResultType<FUNC, ARGS...>::type>::type, RET, FUNC, ARGS...>
    : bsl::conditional<bsl::is_void<RET>::value, bsl::true_type, Function_InvokerUtil_IsExplicitlyConvertible<Function_InvokerUtil_ResultType<FUNC, ARGS...>::type, RET>>::type

Description

Specifically, T is bslalg::NothrowMovableUtil::UnwrappedType<FUNC>::type&, and FWD_ARGS... are the types of respective bslmf::ForwardingTypeUtil<ARGS...>::forwardToTarget(args...) expressions where args... are lvalue expressions of respective bslmf::ForwardingType<ARGS>::Type... types. See the class‐level documentation of the primary Function_InvokerUtil::IsFuncInvocable declaration for more information about the behavior of this struct template.

Base Classes

Name

Description

bsl::conditional<bsl::is_void<RET>::value, bsl::true_type, Function_InvokerUtil_IsExplicitlyConvertible<Function_InvokerUtil_ResultType<FUNC, ARGS...>::type, RET>>::type

Created with MrDocs