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 -> decltype(std::declval< BaseFn & >()(*std::declval< Its >()...))
 
template<typename... Its>
auto operator() (Its...its) noexcept(noexcept(decltype(std::declval< BaseFn & >()(*its...))(std::declval< BaseFn & >()(*its...)))) -> decltype(std::declval< BaseFn & >()(*its...))
 
template<typename... Its>
auto operator() (Its...its) const noexcept(noexcept(decltype(std::declval< BaseFn const & >()(*its...))(std::declval< BaseFn const & >()(*its...)))) -> decltype(std::declval< BaseFn const & >()(*its...))
 
template<typename... Its>
auto operator() (move_tag, Its...its) noexcept(noexcept(aux::move(std::declval< BaseFn & >()(*its...)))) -> aux::move_t< decltype(std::declval< BaseFn & >()(*its...))>
 
template<typename... Its>
auto operator() (move_tag, Its...its) const noexcept(noexcept(aux::move(std::declval< BaseFn const & >()(*its...)))) -> aux::move_t< decltype(std::declval< BaseFn const & >()(*its...))>