deduction guides for std::function_ref
Defined in header <functional> | ||
|---|---|---|
template< class F > function_ref( F* ) -> function_ref<F>; | (1) | (since C++26) |
template< auto f > function_ref( std::nontype_t<f> ) -> function_ref</*see below*/>; | (2) | (since C++26) |
template< auto f, class T > function_ref( std::nontype_t<f>, T&& ) -> function_ref</*see below*/>; | (3) | (since C++26) |
2) Let type
3) Let type F be std::remove_pointer_t<decltype(f)>. This overload participates in overload resolution only if std::is_function_v<F> is true. The deduced type is std::function_ref<F>.F be decltype(f). This overload participates in overload resolution only if : -
Fis of the formR(G::*)(A...) noexcept(E)(optionally cv-qualified, optionally noexcept, optionally lvalue reference qualified) for a typeG, or -
Fis of the formM G::*for a typeGand an object typeM, in which case letRbestd::invoke_result_t<F, T&>,A...be an empty pack, andEbe false, or -
Fis of the formR(*)(G, A...) noexcept(E)for a typeG.
std::function_ref<R(A...) noexcept(E)>. Example
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/function_ref/deduction_guides