diff --git a/include/magic_enum.hpp b/include/magic_enum.hpp index 04e633a..a0c377d 100644 --- a/include/magic_enum.hpp +++ b/include/magic_enum.hpp @@ -402,22 +402,11 @@ constexpr E value(std::size_t i) noexcept { } } -template -constexpr std::size_t count_true(std::array valid_) noexcept { - auto count_ = std::size_t{0}; - for (std::size_t i_ = 0; i_ < valid_.size(); ++i_) { - if (valid_[i_]) { - ++count_; - } - } - return count_; -} - template constexpr auto values(std::index_sequence) noexcept { static_assert(is_enum_v, "magic_enum::detail::values requires enum type."); constexpr std::array valid{{is_valid(I)>()...}}; - constexpr std::size_t count = count_true(valid); + constexpr std::size_t count = (static_cast(valid[I]) + ...); std::array values{}; for (std::size_t i = 0, v = 0; v < count; ++i) {