предположить, что у меня есть такое определение варианта:по умолчанию для повышения :: вариант
typedef boost::variant <
v1,
v2,
v3,
...
vn
> v;
и мне нужно написать класс для посетителей с функциями посетителей для каждого v1 В.н. так:
class myvisitor : public boost::static_visitor<bool> {
bool operator()(v1) {}
bool operator()(v2) {}
...
bool operator()(vn) {}
}
Так что, если все такие функции одинаковы, кроме одного для v1, то я хотел бы только определить
bool operator()(v1) {}
ш hile оставить все остальные в форме по умолчанию, чтобы избежать написания большого количества бесполезного и дублированного кода.
Так что, если это возможно? или может ли разработчик повышения сделать это в своей следующей версии?
Это круто, фантастический, захватывающий, удивительный и потрясающе !!!! – shengyushen
Добро пожаловать в C++ :) Кроме того, в случае, если вам интересно, я передаю большинство своих ответов: [записано] (https://www.livecoding.tv/video/thread-cancellationvariant-visitor-fallback/) – sehe
Я вдруг понимаю, что этот стиль кода открывает для меня совершенно новую возможность, я использовал программу ocaml, и у нее есть аналогичная нотация «_», которая соответствует всем, кроме предыдущих указанных. В C++ я вынужден писать awk-скрипты для генерации всех этих бесполезных случаев. Это освобождает меня от такого труда. – shengyushen