AK: Add IsSigned conterpart to IsUnsigned.

This commit is contained in:
Michel Hermier 2021-03-27 22:12:07 +01:00 committed by Andreas Kling
parent d77cbc0fa8
commit 4f1c72c174
Notes: sideshowbarker 2024-07-18 21:00:25 +09:00
2 changed files with 12 additions and 0 deletions

View file

@ -546,6 +546,9 @@ using Void = void;
template<typename... _Ignored>
constexpr auto DependentFalse = false;
template<typename T>
using IsSigned = IsSame<T, typename MakeSigned<T>::Type>;
template<typename T>
using IsUnsigned = IsSame<T, typename MakeUnsigned<T>::Type>;
@ -623,6 +626,7 @@ using AK::IsFundamental;
using AK::IsIntegral;
using AK::IsNullPointer;
using AK::IsSame;
using AK::IsSigned;
using AK::IsUnion;
using AK::IsUnsigned;
using AK::IsVoid;

View file

@ -85,6 +85,14 @@ TEST_CASE(FundamentalTypeClassification)
EXPECT_TRAIT_FALSE(IsFundamental, Empty, int*, int&);
EXPECT_TRAIT_FALSE(IsSigned, unsigned);
EXPECT_TRAIT_FALSE(IsSigned, unsigned short);
EXPECT_TRAIT_FALSE(IsSigned, unsigned char);
EXPECT_TRAIT_FALSE(IsSigned, unsigned long);
EXPECT_TRAIT_TRUE(IsSigned, int);
EXPECT_TRAIT_TRUE(IsSigned, short);
EXPECT_TRAIT_TRUE(IsSigned, long);
EXPECT_TRAIT_TRUE(IsUnsigned, unsigned);
EXPECT_TRAIT_TRUE(IsUnsigned, unsigned short);
EXPECT_TRAIT_TRUE(IsUnsigned, unsigned char);