руководства по выводу для std::function_ref
Начиная с ru.cppreference.net
| Определён в заголовке <functional>
|
||
template< class F >
function_ref( F* ) -> function_ref<F>;
|
(1) | (начиная с C++26) |
template< auto f >
function_ref( std::nontype_t<f> ) -> function_ref</*see below*/>;
|
(2) | (начиная с C++26) |
template< auto f, class T >
function_ref( std::nontype_t<f>, T&& ) -> function_ref</*see below*/>;
|
(3) | (начиная с C++26) |
1) Эта перегрузка участвует в разрешении перегрузки только если
std::is_function_v<F> является true.2) Пусть тип
F будет std::remove_pointer_t<decltype(f)>. Эта перегрузка участвует в разрешении перегрузки только если std::is_function_v<F> является true. Выведенный тип — std::function_ref<F>.3) Пусть тип
F будет decltype(f). Эта перегрузка участвует в разрешении перегрузки только если :
Fимеет формуR(G::*)(A...) noexcept(E)(необязательно cv-квалифицированный, необязательно noexcept, необязательно квалифицирован по lvalue-ссылке) для типаG, илиFимеет формуM G::*для типаGи объектного типаM, в этом случае пустьRбудетstd::invoke_result_t<F, T&>,A...будет пустым пакетом, иEбудет false, илиFимеет формуR(*)(G, A...) noexcept(E)для типаG.
- Выведенный тип —
std::function_ref<R(A...) noexcept(E)>.
- Выведенный тип —
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |