АШ>template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; }; АШ>template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>; АШ>