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