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

This commit is contained in:
2022-05-22 23:19:30 +08:00
parent 4205a23310
commit c6620da1dd
5 changed files with 103 additions and 93 deletions

View File

@ -405,7 +405,7 @@ template <typename TupleType> requires CTTuple<TRemoveCVRef<TupleType>>
struct TTupleElementSize : TConstant<size_t, TRemoveCVRef<TupleType>::ElementSize> { };
template <size_t I, typename TupleType> requires CTTuple<TRemoveCVRef<TupleType>>
struct TTupleElementType { using Type = typename TCopyCVRef<TRemoveReference<TupleType>, typename TRemoveCVRef<TupleType>::template TElementType<I>::Type>::Type; };
struct TTupleElementType { using Type = TCopyCVRef<TRemoveReference<TupleType>, typename TRemoveCVRef<TupleType>::template TElementType<I>::Type>; };
template <typename T, typename TupleType> requires CTTuple<TRemoveCVRef<TupleType>>
struct TTupleElementIndex : TupleType::template TElementIndex<T> { };