refactor(typetraits): replaces template class type traits with alias template for TypeTraits/Miscellaneous.h

This commit is contained in:
2022-05-22 22:52:47 +08:00
parent 97910be70c
commit 2ce259e7cc
16 changed files with 233 additions and 236 deletions

View File

@ -25,9 +25,9 @@ constexpr const T(&AsConst(T(&Array)[N]))[N]
}
template <typename T>
constexpr typename TRemoveReference<T>::Type&& MoveTemp(T&& Obj)
constexpr TRemoveReference<T>&& MoveTemp(T&& Obj)
{
typedef typename TRemoveReference<T>::Type CastType;
typedef TRemoveReference<T> CastType;
return (CastType&&)Obj;
}
@ -50,13 +50,13 @@ constexpr T&& CopyTemp(T&& Val)
}
template <typename T>
constexpr T&& Forward(typename TRemoveReference<T>::Type& Obj)
constexpr T&& Forward(TRemoveReference<T>& Obj)
{
return (T&&)Obj;
}
template <typename T>
constexpr T&& Forward(typename TRemoveReference<T>::Type&& Obj)
constexpr T&& Forward(TRemoveReference<T>&& Obj)
{
return (T&&)Obj;
}