forked from OSchip/llvm-project
While implementing P0777 - preventing unnecessary decay, I found some non-public uses of decay that could be replaced by __uncvref. NFC intented
llvm-svn: 324895
This commit is contained in:
parent
450d4cf93a
commit
8ea7ede725
|
@ -241,8 +241,8 @@ public:
|
||||||
operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
|
operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
|
||||||
{
|
{
|
||||||
static_assert ( std::is_same<
|
static_assert ( std::is_same<
|
||||||
typename std::decay<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type,
|
typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type,
|
||||||
typename std::decay<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
|
typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
|
||||||
>::value,
|
>::value,
|
||||||
"Corpus and Pattern iterators must point to the same type" );
|
"Corpus and Pattern iterators must point to the same type" );
|
||||||
|
|
||||||
|
@ -394,8 +394,8 @@ public:
|
||||||
operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
|
operator ()(_RandomAccessIterator2 __f, _RandomAccessIterator2 __l) const
|
||||||
{
|
{
|
||||||
static_assert ( std::is_same<
|
static_assert ( std::is_same<
|
||||||
typename std::decay<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type,
|
typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator1>::value_type>::type,
|
||||||
typename std::decay<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
|
typename std::__uncvref<typename std::iterator_traits<_RandomAccessIterator2>::value_type>::type
|
||||||
>::value,
|
>::value,
|
||||||
"Corpus and Pattern iterators must point to the same type" );
|
"Corpus and Pattern iterators must point to the same type" );
|
||||||
|
|
||||||
|
|
|
@ -476,8 +476,8 @@ private:
|
||||||
template <class... _Fs>
|
template <class... _Fs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
static constexpr auto __make_farray(_Fs&&... __fs) {
|
static constexpr auto __make_farray(_Fs&&... __fs) {
|
||||||
__std_visit_visitor_return_type_check<decay_t<_Fs>...>();
|
__std_visit_visitor_return_type_check<__uncvref_t<_Fs>...>();
|
||||||
using __result = array<common_type_t<decay_t<_Fs>...>, sizeof...(_Fs)>;
|
using __result = array<common_type_t<__uncvref_t<_Fs>...>, sizeof...(_Fs)>;
|
||||||
return __result{{_VSTD::forward<_Fs>(__fs)...}};
|
return __result{{_VSTD::forward<_Fs>(__fs)...}};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -514,8 +514,8 @@ private:
|
||||||
template <class _Fp, class _Vp, class... _Vs>
|
template <class _Fp, class _Vp, class... _Vs>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
static constexpr auto __make_fdiagonal() {
|
static constexpr auto __make_fdiagonal() {
|
||||||
constexpr size_t _Np = decay_t<_Vp>::__size();
|
constexpr size_t _Np = __uncvref_t<_Vp>::__size();
|
||||||
static_assert(__all<(_Np == decay_t<_Vs>::__size())...>::value);
|
static_assert(__all<(_Np == __uncvref_t<_Vs>::__size())...>::value);
|
||||||
return __make_fdiagonal_impl<_Fp, _Vp, _Vs...>(make_index_sequence<_Np>{});
|
return __make_fdiagonal_impl<_Fp, _Vp, _Vs...>(make_index_sequence<_Np>{});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,7 +538,7 @@ private:
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline _LIBCPP_INLINE_VISIBILITY
|
||||||
static constexpr auto __make_fmatrix() {
|
static constexpr auto __make_fmatrix() {
|
||||||
return __make_fmatrix_impl<_Fp, _Vs...>(
|
return __make_fmatrix_impl<_Fp, _Vs...>(
|
||||||
index_sequence<>{}, make_index_sequence<decay_t<_Vs>::__size()>{}...);
|
index_sequence<>{}, make_index_sequence<__uncvref_t<_Vs>::__size()>{}...);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -756,7 +756,7 @@ _LIBCPP_VARIANT_DESTRUCTOR(
|
||||||
if (!this->valueless_by_exception()) {
|
if (!this->valueless_by_exception()) {
|
||||||
__visitation::__base::__visit_alt(
|
__visitation::__base::__visit_alt(
|
||||||
[](auto& __alt) noexcept {
|
[](auto& __alt) noexcept {
|
||||||
using __alt_type = decay_t<decltype(__alt)>;
|
using __alt_type = __uncvref_t<decltype(__alt)>;
|
||||||
__alt.~__alt_type();
|
__alt.~__alt_type();
|
||||||
},
|
},
|
||||||
*this);
|
*this);
|
||||||
|
@ -1564,7 +1564,7 @@ struct _LIBCPP_TEMPLATE_VIS hash<
|
||||||
? 299792458 // Random value chosen by the universe upon creation
|
? 299792458 // Random value chosen by the universe upon creation
|
||||||
: __variant::__visit_alt(
|
: __variant::__visit_alt(
|
||||||
[](const auto& __alt) {
|
[](const auto& __alt) {
|
||||||
using __alt_type = decay_t<decltype(__alt)>;
|
using __alt_type = __uncvref_t<decltype(__alt)>;
|
||||||
using __value_type = remove_const_t<
|
using __value_type = remove_const_t<
|
||||||
typename __alt_type::__value_type>;
|
typename __alt_type::__value_type>;
|
||||||
return hash<__value_type>{}(__alt.__value);
|
return hash<__value_type>{}(__alt.__value);
|
||||||
|
|
Loading…
Reference in New Issue