Здравствуйте, B0FEE664, Вы писали:
BFE>Помогите, пожалуйста, реализовать функцию Convert
В смысле, если первый аргумент из пары совпал с параметром функции, то вернуть второй? Ну так, например:
template<class TEnum>
constexpr bool Convert(std::underlying_type_t<TEnum> x, TEnum& result) noexcept {
return false;
}
template<class TEnum, std::underlying_type_t<TEnum> src, TEnum dst, auto... other>
constexpr bool Convert(std::underlying_type_t<TEnum> x, TEnum& result) noexcept {
if (src == x) {
result = dst;
return true;
}
return Convert<TEnum, other...>(x, result);
}