template <typename ...Ts>
struct InvokeWith {
template <typename F>
using f = ml::Invoke<F, Ts...>;
};
InvokeWith<Ts...>
is metafunction that takes a metafunction F: Ts... -> U
, and invokes it with the provided Ts...
.
f:: (Ts... -> U) -> U
template <typename ...Ts>
struct fx {
template <typename F>
using f = ml::Invoke<F, Ts...>;
};
fx<Ts...>
is metafunction that takes a metafunction F: Ts... -> U
, and invokes it with the provided Ts...
.
f:: (Ts... -> U) -> U