Здравствуйте, landerhigh, Вы писали:
Вместо
if (kind==Kind::B || kind==Kind::C)
{
}
у нас намечается простыня
L>L> std::visit([](auto&& t) {
L> if constexpr(std::is_same_v(t, Kind::A))
L> {
L> }
L> else if constexpr(std::is_same_v(t, Kind::B))
L> {
L> }
L> }, v);
L>
L>
А как мне выйти из функции, которая вызывает std::visit, по какой-нибудь альтернативе?
Ещё бесит, что в visit значение варианта передаётся после обработчика. Почему нельзя было его первым аргументом? Оно за портянкой лямбды теряется совсем