12 template<
class Fn,
class T,
class U,
class... Args>
13 constexpr auto operator()(Fn&& f, T&& t, U&& u, Args&&... args)
const noexcept(
14 noexcept( std::invoke(std::forward<Fn>(f), std::forward<U>(u), std::forward<T>(t), std::forward<Args>(args)...)))
15 ->
decltype(std::invoke(std::forward<Fn>(f), std::forward<U>(u), std::forward<T>(t), std::forward<Args>(args)...))
16 {
return std::invoke(std::forward<Fn>(f), std::forward<U>(u), std::forward<T>(t), std::forward<Args>(args)...); }
21 constexpr auto operator()(Fn&& f)
const noexcept(
23 ->
decltype(
partial(closure{}, std::forward<Fn>(f)))
24 {
return partial(closure{}, std::forward<Fn>(f)); }
28 inline namespace cpo {
constexpr partial< detail::flip_op > flip
Returns a binary function which flips the first and second argument.
Definition: flip.hpp:32
Implements a perfect-forwarding call wrapper.
Definition: partial.hpp:63