|
| indirected (Fn fn) |
|
template<typename ... Its> |
auto | operator() (copy_tag, Its...) const -> result_of_t< Fn &(decltype(*std::declval< Its >())...)> |
|
template<typename ... Its> |
auto | operator() (Its ...its) noexcept(noexcept(decltype(invoke(std::declval< Fn &>(), *its...))(invoke(std::declval< Fn &>(), *its...)))) -> decltype(invoke(std::declval< Fn &>(), *its...)) |
|
template<typename ... Its> |
auto | operator() (Its ...its) const noexcept(noexcept(decltype(invoke(std::declval< Fn const &>(), *its...))(invoke(std::declval< Fn const &>(), *its...)))) -> decltype(invoke(std::declval< Fn const &>(), *its...)) |
|
template<typename ... Its> |
auto | operator() (move_tag, Its ...its) noexcept(noexcept(aux::move(invoke(std::declval< Fn &>(), *its...)))) -> aux::move_t< decltype(invoke(std::declval< Fn &>(), *its...))> |
|
template<typename ... Its> |
auto | operator() (move_tag, Its ...its) const noexcept(noexcept(aux::move(invoke(std::declval< Fn const &>(), *its...)))) -> aux::move_t< decltype(invoke(std::declval< Fn const &>(), *its...))> |
|