Whether the given type is one of the built-in integer types, ignoring all
qualifiers.
Integer Types
byte
ubyte
short
ushort
int
uint
long
ulong
Note that this does not include implicit conversions or enum types. The
type itself must be one of the built-in integer types.
This trait does have some similarities with __traits(isIntegral, T),
but isIntegral accepts a lot more types than isInteger does.
isInteger is specifically for testing for the built-in integer types,
whereas isIntegral tests for a whole set of types that are vaguely
integer-like (including bool, the three built-in character types, and
some of the vector types from core.simd). So, for most code, isInteger is
going to be more appropriate, but obviously, it depends on what the code is
trying to do.
Whether the given type is one of the built-in integer types, ignoring all qualifiers.
Note that this does not include implicit conversions or enum types. The type itself must be one of the built-in integer types.
This trait does have some similarities with __traits(isIntegral, T), but isIntegral accepts a lot more types than isInteger does. isInteger is specifically for testing for the built-in integer types, whereas isIntegral tests for a whole set of types that are vaguely integer-like (including bool, the three built-in character types, and some of the vector types from core.simd). So, for most code, isInteger is going to be more appropriate, but obviously, it depends on what the code is trying to do.
See also: __traits(isIntegral, T) isFloatingPoint isSignedInteger isNumeric isUnsignedInteger