|
| composed (Second second, First first) |
|
template<typename... Ts, typename FirstResultT = concepts::Function::result_t<function_type<First> &, Ts &&...>> |
auto | operator() (Ts &&...ts) noexcept(noexcept(decltype(composed::do_( std::declval< function_type< First > & >(), std::declval< function_type< Second > & >(), std::is_void< FirstResultT >{}, (Ts &&) ts...))(composed::do_( std::declval< function_type< First > & >(), std::declval< function_type< Second > & >(), std::is_void< FirstResultT >{}, (Ts &&) ts...)))) -> decltype(composed::do_( std::declval< function_type< First > & >(), std::declval< function_type< Second > & >(), std::is_void< FirstResultT > |
|
template<typename... Ts, typename FirstResultT = concepts::Function::result_t<function_type<First> const &, Ts &&...>> |
auto | operator() (Ts &&...ts) const noexcept(noexcept(decltype(composed::do_( std::declval< function_type< First > const & >(), std::declval< function_type< Second > const & >(), std::is_void< FirstResultT >{}, (Ts &&) ts...))(composed::do_( std::declval< function_type< First > const & >(), std::declval< function_type< Second > const & >(), std::is_void< FirstResultT >{}, (Ts &&) ts...)))) -> decltype(composed::do_( std::declval< function_type< First > const & >(), std::declval< function_type< Second > const & >(), std::is_void< FirstResultT > |
|