SP>// вспомогательный тип для visitor SP>template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; }; SP>template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>; SP>