diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index 7a89a84..cffc658 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -33,6 +33,7 @@ #define NEARGYE_MAGIC_ENUM_HPP #include +#include #include #include #include @@ -397,7 +398,11 @@ struct enum_traits>> { } [[nodiscard]] static constexpr E value(std::size_t index) noexcept { - return values[index]; + if constexpr (detail::size_v != detail::count_v) { + return assert(index < count), values[index]; + } else { + return assert(index < count), static_cast(detail::min_v + index); + } } [[nodiscard]] static constexpr std::string_view name(E value) noexcept {