[*] Was coping

This commit is contained in:
Reece Wilson 2022-03-25 21:03:49 +00:00
parent 438a63f17a
commit f4b5f078bc

View File

@ -108,30 +108,17 @@ inline constexpr bool AuIsReference_v<T &> = true;
template<class T>
inline constexpr bool AuIsReference_v<T &&> = true;
// a lot of third party code uses typename std::is_lvalue_reference<>::type
// unlike other defintions, in this instance, getting to an _t/_v in less steps doesn't matter so much
template<class T>
struct AuIsLValueReference : AuFalseType
{};
template<class>
inline constexpr bool AuIsLValueReference_v = false;
template<class T>
struct AuIsLValueReference<T &> : AuTrueType
{};
inline constexpr bool AuIsLValueReference_v<T &> = true;
template<class>
inline constexpr bool AuIsRValueReference_v = false;
template<class T>
inline constexpr bool AuIsLValueReference_v = AuIsLValueReference<T>::value;
template<class T>
struct AuIsRValueReference : AuFalseType
{};
template<class T>
struct AuIsRValueReference<T &> : AuTrueType
{};
template<class T>
inline constexpr bool AuIsRValueReference_v = AuIsRValueReference<T>::value;
inline constexpr bool AuIsRValueReference_v<T &&> = true;
template<class T>
struct AuRemovePointer