Здравствуйте, B0FEE664, Вы писали:
BFE>Это в enum class нет максимального, а вот в просто enum — есть.
А я-то думал, ты шутишь. Почему нет-то? Вот, твой же пример, переделанный под scoped enum-ы:
http://coliru.stacked-crooked.com/a/38fc39024456e980
template<typename>
struct min_element;
template<typename T, T head, T...tail>
struct min_element<std::integer_sequence<T, head, tail...>> {
static constexpr T value = std::min(head, min_element<std::integer_sequence<T, tail...>>::value);
};
template<typename T, T head>
struct min_element<std::integer_sequence<T, head>> {
static constexpr T value = head;
};
enum class EE {
a, b, c, d
};
using EE_sequence = std::integer_sequence<EE, EE::a, EE::b, EE::c, EE::d>;
static_assert(EE::a == min_element<EE_sequence>::value);