26 template <
typename FuncT>
41 template <
typename... FuncTs>
43 return Overload<FuncTs...>(std::forward<FuncTs>(fs)...);
56 template <
typename... FuncTs>
67 template <
typename... Ts>
71 template <
typename T,
typename... Ts>
75 : T(
std::forward<T>(func)),
95 template<
typename... Ts>
97 return _func(*
this, std::forward<Ts>(arguments)...);
static auto MakeRecursive(FuncT &&func)
创建一个递归调用对象
static auto MakeOverload(FuncTs &&... fs)
创建一个重载调用对象
static auto MakeRecursiveOverload(FuncTs &&... fs)
创建递归重载调用对象
Overload(T &&func, Ts &&... rest)
auto operator()(Ts &&... arguments) const