22 General utilities library [utilities]
template<class F>
function_ref(F*) -> function_ref<F>;
Constraints:
is_function_v<F> is
true. template<auto f>
function_ref(nontype_t<f>) -> function_ref<see below>;
Let
F be
remove_pointer_t<decltype(f)>.Constraints:
is_function_v<F> is
true. Remarks: The deduced type is
function_ref<F>. template<auto f, class T>
function_ref(nontype_t<f>, T&&) -> function_ref<see below>;
Constraints:
- F is of the form
R(G::*)(A...) cv &opt noexcept(E) for a type G, or
- F is of the form
M G::* for a type G and an object type M,
in which case
let R be invoke_result_t<F, T&>,
A... be an empty pack, and
E be false, or
- F is of the form
R(*)(G, A...) noexcept(E) for a type G.
Remarks: The deduced type is
function_ref<R(A...) noexcept(E)>.