@@ -177,7 +177,7 @@ namespace customize {
177177}
178178
179179namespace detail {
180- template <typename E,typename = void >
180+ template <typename E, typename = void >
181181 constexpr inline std::size_t prefix_length_or_zero = 0 ;
182182
183183 template <typename E>
@@ -190,25 +190,25 @@ template <bool IsFlags = false, int Min = MAGIC_ENUM_RANGE_MIN, int Max = MAGIC_
190190struct adl_info_holder {
191191 constexpr static int max = Max;
192192 constexpr static int min = Min;
193- constexpr static bool is_flags =IsFlags;
193+ constexpr static bool is_flags = IsFlags;
194194 constexpr static std::size_t prefix_length = PrefixLength;
195195
196- template <int min,int max>
197- constexpr static adl_info_holder<IsFlags,min,max,PrefixLength> minmax () { return {}; }
196+ template <int min, int max>
197+ constexpr static adl_info_holder<IsFlags, min, max, PrefixLength> minmax () { return {}; }
198198
199199 template <bool is_flag>
200- constexpr static adl_info_holder<is_flag,Min,Max,PrefixLength> flag () { return {}; }
200+ constexpr static adl_info_holder<is_flag, Min, Max, PrefixLength> flag () { return {}; }
201201
202202 template <std::size_t prefix_len>
203- constexpr static adl_info_holder<IsFlags,Min,Max,prefix_len> prefix () { return {}; }
203+ constexpr static adl_info_holder<IsFlags, Min, Max, prefix_len> prefix () { return {}; }
204204};
205205
206206constexpr adl_info_holder<> adl_info () { return {}; }
207207
208208// Enum value must be in range [MAGIC_ENUM_RANGE_MIN, MAGIC_ENUM_RANGE_MAX]. By default MAGIC_ENUM_RANGE_MIN = -128, MAGIC_ENUM_RANGE_MAX = 127.
209209// If need another range for all enum types by default, redefine the macro MAGIC_ENUM_RANGE_MIN and MAGIC_ENUM_RANGE_MAX.
210210// If need another range for specific enum type, add specialization enum_range for necessary enum type.
211- template <typename E,typename /* = void */ >
211+ template <typename E, typename >
212212struct enum_range {
213213 static constexpr int min = MAGIC_ENUM_RANGE_MIN;
214214 static constexpr int max = MAGIC_ENUM_RANGE_MAX;
@@ -261,7 +261,7 @@ namespace detail {
261261
262262template <typename T>
263263struct supported
264- #if defined(MAGIC_ENUM_SUPPORTED) && MAGIC_ENUM_SUPPORTED || defined(MAGIC_ENUM_NO_CHECK_SUPPORT)
264+ #if defined(MAGIC_ENUM_SUPPORTED) || defined(MAGIC_ENUM_NO_CHECK_SUPPORT)
265265 : std::true_type {};
266266#else
267267 : std::false_type {};
@@ -840,22 +840,7 @@ constexpr enum_subtype subtype(std::true_type) noexcept {
840840 } else if constexpr (has_is_flags<E>::value) {
841841 return customize::enum_range<E>::is_flags ? enum_subtype::flags : enum_subtype::common;
842842 } else {
843- #if defined(MAGIC_ENUM_AUTO_IS_FLAGS)
844- constexpr auto flags_values = values<E, enum_subtype::flags>();
845- constexpr auto default_values = values<E, enum_subtype::common>();
846- if (flags_values.size () == 0 || default_values.size () > flags_values.size ()) {
847- return enum_subtype::common;
848- }
849- for (std::size_t i = 0 ; i < default_values.size (); ++i) {
850- const auto v = static_cast <U>(default_values[i]);
851- if (v != 0 && (v & (v - 1 )) != 0 ) {
852- return enum_subtype::common;
853- }
854- }
855- return enum_subtype::flags;
856- #else
857843 return enum_subtype::common;
858- #endif
859844 }
860845}
861846
@@ -1503,8 +1488,8 @@ template <detail::enum_subtype S, typename E>
15031488template <bool AsFlags = true >
15041489inline constexpr auto as_flags = AsFlags ? detail::enum_subtype::flags : detail::enum_subtype::common;
15051490
1506- template <bool AsFlags = true >
1507- inline constexpr auto as_common = AsFlags ? detail::enum_subtype::common : detail::enum_subtype::flags;
1491+ template <bool AsCommon = true >
1492+ inline constexpr auto as_common = AsCommon ? detail::enum_subtype::common : detail::enum_subtype::flags;
15081493
15091494namespace bitwise_operators {
15101495
0 commit comments