mirror of
https://github.com/dlang/phobos.git
synced 2025-05-14 17:05:58 +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.
|
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
|
@safe unittest
|
||||||
{
|
{
|
||||||
|
enum E { e1 = 0 }
|
||||||
|
static assert(isSigned!E);
|
||||||
|
|
||||||
|
enum Eubyte : ubyte { e1 = 0 }
|
||||||
|
static assert(!isSigned!Eubyte);
|
||||||
|
|
||||||
foreach (T; TypeTuple!(SignedIntTypeList))
|
foreach (T; TypeTuple!(SignedIntTypeList))
|
||||||
{
|
{
|
||||||
foreach (Q; TypeQualifierList)
|
foreach (Q; TypeQualifierList)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue