Boolean metafunction reporting whether FUNC can initialize bsl::function.

Synopsis

Declared in <bslstl_function.h>

template<
    class RET,
    class FUNC,
    class... ARGS>
struct Function_IsInvocableWithPrototype<RET(ARGS...), FUNC>
    : Function_InvokerUtil::IsFuncInvocable<RET(ARGS...), FUNC>

Description

This component‐private struct template provides a boolean metafunction that derives from bsl::true_type if a bsl::function object having a prototype of RET(ARGS...) is constructible from an object of type FUNC, and derives from bsl::false_type otherwise. This metafunction is a wrapper around bsl::invoke_result that unwraps FUNC if it is a specialization of bslalg::NothrowMovableWrapper; and, if bsl::invoke_result provides a nested type typedef for FUNC and RET is non‐void, checks that the return type of the invoke operation on FUNC is convertible to RET.

Base Classes

Name

Description

Function_InvokerUtil::IsFuncInvocable<RET(ARGS...), FUNC>

Boolean metafunction for invocability of FUNC under PROTOTYPE.

Created with MrDocs