[libc++][NFC] Use more appropriate type traits for a few cases (#114025)
This commit is contained in:
parent
2cd32132db
commit
de87dda2da
@ -36,6 +36,7 @@
|
||||
#include <__type_traits/is_nothrow_constructible.h>
|
||||
#include <__type_traits/is_pointer.h>
|
||||
#include <__type_traits/is_reference.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/is_swappable.h>
|
||||
#include <__type_traits/remove_const.h>
|
||||
#include <__type_traits/remove_cvref.h>
|
||||
|
||||
@ -42,9 +42,11 @@
|
||||
#include <__type_traits/is_constructible.h>
|
||||
#include <__type_traits/is_convertible.h>
|
||||
#include <__type_traits/is_reference.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/is_unbounded_array.h>
|
||||
#include <__type_traits/nat.h>
|
||||
#include <__type_traits/negation.h>
|
||||
#include <__type_traits/remove_cv.h>
|
||||
#include <__type_traits/remove_extent.h>
|
||||
#include <__type_traits/remove_reference.h>
|
||||
#include <__utility/declval.h>
|
||||
|
||||
@ -25,6 +25,7 @@
|
||||
#include <__type_traits/extent.h>
|
||||
#include <__type_traits/is_array.h>
|
||||
#include <__type_traits/is_constant_evaluated.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/is_trivially_assignable.h>
|
||||
#include <__type_traits/is_trivially_constructible.h>
|
||||
#include <__type_traits/is_trivially_relocatable.h>
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
#include <__tuple/tuple_size.h>
|
||||
#include <__tuple/tuple_types.h>
|
||||
#include <__type_traits/copy_cvref.h>
|
||||
#include <__type_traits/remove_cv.h>
|
||||
#include <__type_traits/remove_cvref.h>
|
||||
#include <__type_traits/remove_reference.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
@ -58,7 +58,7 @@ template <class _Tp,
|
||||
bool _SameSize = (_Ep == tuple_size<__libcpp_remove_reference_t<_Tp> >::value)>
|
||||
struct __make_tuple_types {
|
||||
static_assert(_Sp <= _Ep, "__make_tuple_types input error");
|
||||
using _RawTp = __remove_cv_t<__libcpp_remove_reference_t<_Tp> >;
|
||||
using _RawTp = __remove_cvref_t<_Tp>;
|
||||
using _Maker = __make_tuple_types_flat<_RawTp, typename __make_tuple_indices<_Ep, _Sp>::type>;
|
||||
using type = typename _Maker::template __apply_quals<_Tp>;
|
||||
};
|
||||
|
||||
@ -90,8 +90,7 @@ void operator delete[](void* ptr, void*) noexcept;
|
||||
#include <__cstddef/size_t.h>
|
||||
#include <__exception/exception.h>
|
||||
#include <__type_traits/is_function.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/remove_cv.h>
|
||||
#include <__type_traits/is_void.h>
|
||||
#include <__verbose_abort>
|
||||
#include <version>
|
||||
|
||||
@ -342,7 +341,7 @@ inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate_unsized(void* __ptr, size_
|
||||
template <class _Tp>
|
||||
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _Tp* __launder(_Tp* __p) _NOEXCEPT {
|
||||
static_assert(!(is_function<_Tp>::value), "can't launder functions");
|
||||
static_assert(!(is_same<void, __remove_cv_t<_Tp> >::value), "can't launder cv-void");
|
||||
static_assert(!is_void<_Tp>::value, "can't launder cv-void");
|
||||
return __builtin_launder(__p);
|
||||
}
|
||||
|
||||
|
||||
@ -207,6 +207,7 @@ namespace std {
|
||||
#include <__type_traits/is_nothrow_constructible.h>
|
||||
#include <__type_traits/is_object.h>
|
||||
#include <__type_traits/is_reference.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/is_scalar.h>
|
||||
#include <__type_traits/is_swappable.h>
|
||||
#include <__type_traits/is_trivially_assignable.h>
|
||||
@ -215,6 +216,7 @@ namespace std {
|
||||
#include <__type_traits/is_trivially_relocatable.h>
|
||||
#include <__type_traits/negation.h>
|
||||
#include <__type_traits/remove_const.h>
|
||||
#include <__type_traits/remove_cv.h>
|
||||
#include <__type_traits/remove_cvref.h>
|
||||
#include <__type_traits/remove_reference.h>
|
||||
#include <__utility/declval.h>
|
||||
|
||||
@ -245,6 +245,7 @@ namespace std {
|
||||
#include <__type_traits/is_nothrow_assignable.h>
|
||||
#include <__type_traits/is_nothrow_constructible.h>
|
||||
#include <__type_traits/is_reference.h>
|
||||
#include <__type_traits/is_same.h>
|
||||
#include <__type_traits/is_swappable.h>
|
||||
#include <__type_traits/is_trivially_assignable.h>
|
||||
#include <__type_traits/is_trivially_constructible.h>
|
||||
|
||||
@ -12,10 +12,9 @@
|
||||
|
||||
// UNSUPPORTED: c++03, c++11, c++14
|
||||
|
||||
#include <new>
|
||||
#include <cassert>
|
||||
|
||||
#include "test_macros.h"
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
constexpr int gi = 5;
|
||||
constexpr float gf = 8.f;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user