Skip to content

Commit d153ff0

Browse files
kazutakahirataLukacma
authored andcommitted
[ADT] Modernize type traits in BitmaskEnum.h (NFC) (llvm#164567)
This patch replaces std::enable_if_t with std::void_t in two type traits. Both approaches enable the template specialization if and only if the LLVM_BITMASK_LARGEST_ENUMERATOR enumerator exists.
1 parent 877f5b8 commit d153ff0

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

llvm/include/llvm/ADT/BitmaskEnum.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,15 +106,15 @@ struct is_bitmask_enum : std::false_type {};
106106

107107
template <typename E>
108108
struct is_bitmask_enum<
109-
E, std::enable_if_t<sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >= 0>>
109+
E, std::void_t<decltype(E::LLVM_BITMASK_LARGEST_ENUMERATOR)>>
110110
: std::true_type {};
111111

112112
/// Trait class to determine bitmask enumeration largest bit.
113113
template <typename E, typename Enable = void> struct largest_bitmask_enum_bit;
114114

115115
template <typename E>
116116
struct largest_bitmask_enum_bit<
117-
E, std::enable_if_t<sizeof(E::LLVM_BITMASK_LARGEST_ENUMERATOR) >= 0>> {
117+
E, std::void_t<decltype(E::LLVM_BITMASK_LARGEST_ENUMERATOR)>> {
118118
using UnderlyingTy = std::underlying_type_t<E>;
119119
static constexpr UnderlyingTy value =
120120
static_cast<UnderlyingTy>(E::LLVM_BITMASK_LARGEST_ENUMERATOR);

0 commit comments

Comments
 (0)