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