Skip to content

Commit 4dfa75c

Browse files
authored
[libc++] Merge is_scoped_enum.h into is_enum.h (#99458)
1 parent fc65a96 commit 4dfa75c

File tree

5 files changed

+10
-39
lines changed

5 files changed

+10
-39
lines changed

libcxx/include/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -793,7 +793,6 @@ set(files
793793
__type_traits/is_referenceable.h
794794
__type_traits/is_same.h
795795
__type_traits/is_scalar.h
796-
__type_traits/is_scoped_enum.h
797796
__type_traits/is_signed.h
798797
__type_traits/is_signed_integer.h
799798
__type_traits/is_specialization.h

libcxx/include/__type_traits/is_enum.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ template <class _Tp>
2626
inline constexpr bool is_enum_v = __is_enum(_Tp);
2727
#endif
2828

29+
#if _LIBCPP_STD_VER >= 23
30+
31+
template <class _Tp>
32+
struct _LIBCPP_TEMPLATE_VIS is_scoped_enum : bool_constant<__is_scoped_enum(_Tp)> {};
33+
34+
template <class _Tp>
35+
inline constexpr bool is_scoped_enum_v = __is_scoped_enum(_Tp);
36+
37+
#endif // _LIBCPP_STD_VER >= 23
38+
2939
_LIBCPP_END_NAMESPACE_STD
3040

3141
#endif // _LIBCPP___TYPE_TRAITS_IS_ENUM_H

libcxx/include/__type_traits/is_scoped_enum.h

Lines changed: 0 additions & 33 deletions
This file was deleted.

libcxx/include/module.modulemap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2009,7 +2009,6 @@ module std_private_type_traits_is_scalar [system
20092009
header "__type_traits/is_scalar.h"
20102010
export std_private_type_traits_is_null_pointer
20112011
}
2012-
module std_private_type_traits_is_scoped_enum [system] { header "__type_traits/is_scoped_enum.h" }
20132012
module std_private_type_traits_is_signed [system] { header "__type_traits/is_signed.h" }
20142013
module std_private_type_traits_is_signed_integer [system] { header "__type_traits/is_signed_integer.h" }
20152014
module std_private_type_traits_is_specialization [system] { header "__type_traits/is_specialization.h" }

libcxx/include/type_traits

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -514,10 +514,6 @@ namespace std
514514
# include <__type_traits/unwrap_ref.h>
515515
#endif
516516

517-
#if _LIBCPP_STD_VER >= 23
518-
# include <__type_traits/is_scoped_enum.h>
519-
#endif
520-
521517
#include <version>
522518

523519
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

0 commit comments

Comments
 (0)