Здравствуйте, Кодт, Вы писали:
К>Переписал свой последовательный overloaded на нём.
К>https://gcc.godbolt.org/z/W6PW6j1nb
Еще вот какой у меня вопрос возник: в случае, если подходящий обработчик отсутствует, то вот в этом месте возникнет ошибка компиляции:
decltype(auto) call_(index_t<LAST> index, auto&&... x) const IMPLICITLY(std::get<index.value>(funs)(FWD(x)...))
Это намеренно так сделано? Не лучше ли было бы в этом случае просто ничего не делать:
void call_(index_t<LAST + 1>, auto&&...) const {} // Пустой обработчик для LAST + 1
Тогда и необходимость в заглушке def(...) отпала бы, и подход работал бы в т.ч. и для пустого множества обработчиков, что расширило бы возможности его применения в различного рода обобщенных операциях.