From beb77df3f16f8fb7f2e525269d74983fe472b0fe Mon Sep 17 00:00:00 2001 From: neargye Date: Sun, 10 Jan 2021 14:54:49 +0200 Subject: [PATCH] clean-up --- include/magic_enum.hpp | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index 955aec2..e5528ba 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -435,30 +435,19 @@ constexpr auto values(std::index_sequence) noexcept { } template > -inline static constexpr void detect_values_out_of_range() -{ +constexpr auto values() noexcept { + static_assert(is_enum_v, "magic_enum::detail::values requires enum type."); constexpr auto min = reflected_min_v; constexpr auto max = reflected_max_v; constexpr auto range_size = max - min + 1; - - if constexpr (cmp_less((std::numeric_limits::min)(), min) && !IsFlags) - { - static_assert(!is_valid(0)>(), "magic_enum detects enum value smaller than min range size"); - } - - if constexpr (cmp_less(range_size, (std::numeric_limits::max)()) && !IsFlags) - { - static_assert(!is_valid(range_size + 1)>(), "magic_enum detects enum value larger than max range size"); - } -} - -template > -constexpr auto values() noexcept { - static_assert(is_enum_v, "magic_enum::detail::values requires enum type."); - constexpr auto range_size = reflected_max_v - reflected_min_v + 1; static_assert(range_size > 0, "magic_enum::enum_range requires valid size."); static_assert(range_size < (std::numeric_limits::max)(), "magic_enum::enum_range requires valid size."); - detect_values_out_of_range(); + if constexpr (cmp_less((std::numeric_limits::min)(), min) && !IsFlags) { + static_assert(!is_valid(0)>(), "magic_enum::enum_range detects enum value smaller than min range size."); + } + if constexpr (cmp_less(range_size, (std::numeric_limits::max)()) && !IsFlags) { + static_assert(!is_valid(range_size + 1)>(), "magic_enum::enum_range detects enum value larger than max range size."); + } return values>(std::make_index_sequence{}); }