forward declaration

Synopsis

Declared in <bslstl_function_invokerutil.h>

template<
    class VOID_TYPE,
    class RET,
    class FUNC,
    class... ARGS>
struct Function_InvokerUtil_IsFuncInvocableImp
    : bsl::false_type

Base Classes

Name

Description

bsl::false_type

Metafunction representing the boolean constant false.

Specializations

Name

Description

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

Name

Description

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.

Created with MrDocs