Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::indirected< Fn > Struct Template Reference
+ Inheritance diagram for ranges::v3::indirected< Fn >:

Public Member Functions

 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...))>