Re[9]: std::get(std::variant)
От: rg45 СССР  
Дата: 23.10.25 20:19
Оценка:
Здравствуйте, Marty, Вы писали:

M>Нет под рукой ссылки, где можно почитать такой прекрасный код?


Ну вот этот
Автор: Marty
Дата: 23.10 22:11
твой пример, без особого труда мог бы выглятеть как-то вот так:

void func(MyVariant v)
{
  return MyVisit(v,    
    [](const A& a) {
      doSomething(a);
      return 1;
    },
    [](const AnyTypeOfList<B, C> auto&) {
      log << "Error: B or C not allowed here not allowed here\n";
      return -1;
    },
    [](const auto&) {
      return 0; // OK
    }
  );
}


Прекрасно, не прекрасно, но по-любому лучше, чем твои if-ы с энумами, я считаю.
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.