#pragma once #include <enumDetails.hpp> enum GlobalUnscoped { aa, b, c }; enum class GlobalScoped { aa, b, c }; namespace ns { enum Unscoped { aa, b, c }; enum class Scoped { aa, b, c }; } namespace test1 { enum class DefaultDense { a, bee, ci, de }; } namespace test2 { enum class NumberedSparse { a = 0, bee = 3, ci = -20, de = 100 }; } template<> struct EnumValueCollection<test2::NumberedSparse> { // Any ordered integer_sequence which includes all enumeration values using Vs = std::integer_sequence<int, -100, -20, 0, 3, 10, 100, 1000>; };