View source code
Display the source code in std/traits.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Enum member std.traits.isFloatingPoint
Detect whether T
is a built-in floating point type.
enum isFloatingPoint(T)
= __traits(isFloating, T) && !is(T : ireal) && !is(T : creal);
Example
static assert(
isFloatingPoint!float &&
isFloatingPoint!double &&
isFloatingPoint!real &&
isFloatingPoint!(const(real)) &&
isFloatingPoint!(immutable(real))
);
static assert(!isFloatingPoint!int);
// complex and imaginary numbers do not pass
static assert(
!isFloatingPoint!cfloat &&
!isFloatingPoint!ifloat
);
// types which act as floating point values do not pass
struct S
{
float val;
alias val this;
}
static assert(!isFloatingPoint!S);
Authors
Walter Bright,
Tomasz Stachowiak (isExpressions
),
Andrei Alexandrescu,
Shin Fujishiro,
Robert Clipsham,
David Nadlinger,
Kenji Hara,
Shoichi Kato
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.