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(constant_arg_t<f>) -> function_ref<see below>;
Remarks: The deduced type is
function_ref<F>. template<auto f, class T>
function_ref(constant_arg_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 true, 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)>.