Здравствуйте, 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-ы с энумами, я считаю.