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

@ -480,81 +480,81 @@ void TestTypeTraits()
// CopyQualifiers.h
always_check((CSameAs< int32, TCopyConst< int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyConst<const int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyConst<const volatile int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyConst< int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyConst<const int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyConst<const volatile int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyConst< int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyConst<const int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyConst<const volatile int32, const volatile int32>::Type>));
always_check((CSameAs< int32, TCopyConst< int32, int32>>));
always_check((CSameAs<const int32, TCopyConst<const int32, int32>>));
always_check((CSameAs<const int32, TCopyConst<const volatile int32, int32>>));
always_check((CSameAs<const int32, TCopyConst< int32, const int32>>));
always_check((CSameAs<const int32, TCopyConst<const int32, const int32>>));
always_check((CSameAs<const int32, TCopyConst<const volatile int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyConst< int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyConst<const int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyConst<const volatile int32, const volatile int32>>));
always_check((CSameAs< int32, TCopyVolatile< int32, int32>::Type>));
always_check((CSameAs< int32, TCopyVolatile<const int32, int32>::Type>));
always_check((CSameAs< volatile int32, TCopyVolatile<const volatile int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyVolatile< int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyVolatile<const int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const volatile int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyVolatile< int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const volatile int32, const volatile int32>::Type>));
always_check((CSameAs< int32, TCopyVolatile< int32, int32>>));
always_check((CSameAs< int32, TCopyVolatile<const int32, int32>>));
always_check((CSameAs< volatile int32, TCopyVolatile<const volatile int32, int32>>));
always_check((CSameAs<const int32, TCopyVolatile< int32, const int32>>));
always_check((CSameAs<const int32, TCopyVolatile<const int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const volatile int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyVolatile< int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyVolatile<const volatile int32, const volatile int32>>));
always_check((CSameAs< int32, TCopyCV< int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyCV<const int32, int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyCV< int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyCV<const int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCV< int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCV<const int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, const volatile int32>::Type>));
always_check((CSameAs< int32, TCopyCV< int32, int32>>));
always_check((CSameAs<const int32, TCopyCV<const int32, int32>>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, int32>>));
always_check((CSameAs<const int32, TCopyCV< int32, const int32>>));
always_check((CSameAs<const int32, TCopyCV<const int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyCV< int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyCV<const int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyCV<const volatile int32, const volatile int32>>));
always_check((CSameAs<int32, TCopyReference<int32, int32 >::Type>));
always_check((CSameAs<int32&, TCopyReference<int32, int32& >::Type>));
always_check((CSameAs<int32&&, TCopyReference<int32, int32&&>::Type>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32 >::Type>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32& >::Type>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32&&>::Type>));
always_check((CSameAs<int32&&, TCopyReference<int32&&, int32 >::Type>));
always_check((CSameAs<int32&, TCopyReference<int32&&, int32& >::Type>));
always_check((CSameAs<int32&&, TCopyReference<int32&&, int32&&>::Type>));
always_check((CSameAs<int32, TCopyReference<int32, int32 >>));
always_check((CSameAs<int32&, TCopyReference<int32, int32& >>));
always_check((CSameAs<int32&&, TCopyReference<int32, int32&&>>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32 >>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32& >>));
always_check((CSameAs<int32&, TCopyReference<int32&, int32&&>>));
always_check((CSameAs<int32&&, TCopyReference<int32&&, int32 >>));
always_check((CSameAs<int32&, TCopyReference<int32&&, int32& >>));
always_check((CSameAs<int32&&, TCopyReference<int32&&, int32&&>>));
always_check((CSameAs< int32, TCopyCVRef< int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef< int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, const int32>::Type>));
always_check((CSameAs< volatile int32, TCopyCVRef< volatile int32, int32>::Type>));
always_check((CSameAs< volatile int32, TCopyCVRef< int32, volatile int32>::Type>));
always_check((CSameAs< volatile int32, TCopyCVRef< volatile int32, volatile int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef< int32, const int32>::Type>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, const int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCVRef< int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const int32, const volatile int32>::Type>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, const volatile int32>::Type>));
always_check((CSameAs< int32, TCopyCVRef< int32, int32>>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32>>));
always_check((CSameAs<const int32, TCopyCVRef< int32, const int32>>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, const int32>>));
always_check((CSameAs< volatile int32, TCopyCVRef< volatile int32, int32>>));
always_check((CSameAs< volatile int32, TCopyCVRef< int32, volatile int32>>));
always_check((CSameAs< volatile int32, TCopyCVRef< volatile int32, volatile int32>>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32>>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, int32>>));
always_check((CSameAs<const int32, TCopyCVRef< int32, const int32>>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, const int32>>));
always_check((CSameAs<const volatile int32, TCopyCVRef< int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const int32, const volatile int32>>));
always_check((CSameAs<const volatile int32, TCopyCVRef<const volatile int32, const volatile int32>>));
always_check((CSameAs<int32, TCopyCVRef<int32, int32 >::Type>));
always_check((CSameAs<int32&, TCopyCVRef<int32, int32& >::Type>));
always_check((CSameAs<int32&&, TCopyCVRef<int32, int32&&>::Type>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32 >::Type>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32& >::Type>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32&&>::Type>));
always_check((CSameAs<int32&&, TCopyCVRef<int32&&, int32 >::Type>));
always_check((CSameAs<int32&, TCopyCVRef<int32&&, int32& >::Type>));
always_check((CSameAs<int32&&, TCopyCVRef<int32&&, int32&&>::Type>));
always_check((CSameAs<int32, TCopyCVRef<int32, int32 >>));
always_check((CSameAs<int32&, TCopyCVRef<int32, int32& >>));
always_check((CSameAs<int32&&, TCopyCVRef<int32, int32&&>>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32 >>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32& >>));
always_check((CSameAs<int32&, TCopyCVRef<int32&, int32&&>>));
always_check((CSameAs<int32&&, TCopyCVRef<int32&&, int32 >>));
always_check((CSameAs<int32&, TCopyCVRef<int32&&, int32& >>));
always_check((CSameAs<int32&&, TCopyCVRef<int32&&, int32&&>>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32 >::Type>));
always_check((CSameAs<const int32&, TCopyCVRef< int32, const int32& >::Type>));
always_check((CSameAs<const volatile int32&&, TCopyCVRef<const volatile int32, const int32&&>::Type>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&, int32 >::Type>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&, const int32& >::Type>));
always_check((CSameAs<const volatile int32&, TCopyCVRef< volatile int32&, const int32&&>::Type>));
always_check((CSameAs<const int32&&, TCopyCVRef<const int32&&, int32 >::Type>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&&, const int32& >::Type>));
always_check((CSameAs<const volatile int32&&, TCopyCVRef<const volatile int32&&, const int32&&>::Type>));
always_check((CSameAs<const int32, TCopyCVRef<const int32, int32 >>));
always_check((CSameAs<const int32&, TCopyCVRef< int32, const int32& >>));
always_check((CSameAs<const volatile int32&&, TCopyCVRef<const volatile int32, const int32&&>>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&, int32 >>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&, const int32& >>));
always_check((CSameAs<const volatile int32&, TCopyCVRef< volatile int32&, const int32&&>>));
always_check((CSameAs<const int32&&, TCopyCVRef<const int32&&, int32 >>));
always_check((CSameAs<const int32&, TCopyCVRef<const int32&&, const int32& >>));
always_check((CSameAs<const volatile int32&&, TCopyCVRef<const volatile int32&&, const int32&&>>));
// BooleanTestable.h