mirror of
https://github.com/dlang/phobos.git
synced 2025-05-13 07:39:15 +03:00
Compacter definition of isSigned including extra unittests
This commit is contained in:
parent
51fbf1765a
commit
93e302ba98
1 changed files with 7 additions and 1 deletions
|
@ -5429,10 +5429,16 @@ enum bool isUnsigned(T) = __traits(isUnsigned, T) && !(is(Unqual!T == char) ||
|
|||
/**
|
||||
Detect whether $(D T) is a built-in signed numeric type.
|
||||
*/
|
||||
enum bool isSigned(T) = is(SignedTypeOf!T) && !isAggregateType!T;
|
||||
enum bool isSigned(T) = __traits(isArithmetic, T) && !__traits(isUnsigned, T);
|
||||
|
||||
@safe unittest
|
||||
{
|
||||
enum E { e1 = 0 }
|
||||
static assert(isSigned!E);
|
||||
|
||||
enum Eubyte : ubyte { e1 = 0 }
|
||||
static assert(!isSigned!Eubyte);
|
||||
|
||||
foreach (T; TypeTuple!(SignedIntTypeList))
|
||||
{
|
||||
foreach (Q; TypeQualifierList)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue