| 769 | |
| 770 | template <typename E, enum_subtype S, std::size_t Size, int Min, std::size_t I> |
| 771 | constexpr void valid_count(bool* valid, std::size_t& count) noexcept { |
| 772 | #define MAGIC_ENUM_V(O) \ |
| 773 | if constexpr ((I + O) < Size) { \ |
| 774 | if constexpr (is_valid<E, ualue<E, Min, S>(I + O)>()) { \ |
| 775 | valid[I + O] = true; \ |
| 776 | ++count; \ |
| 777 | } \ |
| 778 | } |
| 779 | |
| 780 | MAGIC_ENUM_FOR_EACH_256(MAGIC_ENUM_V) |
| 781 | |
| 782 | if constexpr ((I + 256) < Size) { |
| 783 | valid_count<E, S, Size, Min, I + 256>(valid, count); |
| 784 | } |
| 785 | #undef MAGIC_ENUM_V |
| 786 | } |
| 787 | |
| 788 | template <std::size_t N> |
| 789 | struct valid_count_t { |
nothing calls this directly
no outgoing calls
no test coverage detected