Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::composed< Second, First > Struct Template Reference

Public Member Functions

constexpr composed (Second second, First first)
 
template<typename... Ts>
constexpr auto operator() (Ts &&... ts) &&noexcept(noexcept(composed::do_((First &&) first_,(Second &&) second_, std::is_void< invoke_result_t< First &&, Ts... >>{},(Ts &&) ts...))) -> decltype(composed::do_((First &&) first_,(Second &&) second_, std::is_void< invoke_result_t< First &&, Ts... >>
 
template<typename... Ts>
constexpr auto operator() (Ts &&... ts) &noexcept(noexcept(composed::do_(first_, second_, std::is_void< invoke_result_t< First &, Ts... >>{},(Ts &&) ts...))) -> decltype(composed::do_(first_, second_, std::is_void< invoke_result_t< First &, Ts... >>
 
template<typename... Ts>
constexpr auto operator() (Ts &&... ts) const &noexcept(noexcept(composed::do_((First const &) first_,(Second const &) second_, std::is_void< invoke_result_t< First const &, Ts... >>{},(Ts &&) ts...))) -> decltype(composed::do_((First const &) first_,(Second const &) second_, std::is_void< invoke_result_t< First const &, Ts... >>
 

Public Attributes

Ts && ts { return (composed::do_(first_, second_, std::is_void<invoke_result_t<First &, Ts...>>{}, (Ts &&) ts...))