View source code
Display the source code in std/conv.d from which this page was generated on
github.
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.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.conv.signed
Returns the corresponding signed value for
(e.g. if x
has type
x
uint
, it returns cast(int)
). The advantage compared x
to
the cast
is that you do not need to
rewrite the cast if
later changes type
(e.g from x
uint
to
ulong
).
Note that the result is always mutable even if the original type was const
or immutable. In order to
retain the constness, use std.traits.Signed
.
Prototype
auto signed(T)( T x ) if (isIntegral!T);
Example
immutable uint u = 42; auto s1 = signed(u); //not qualified static assert(is(typeof(s1) == int)); Signed!(typeof(u)) s2 = signed(u); //same qualification static assert(is(typeof(s2) == immutable int)); immutable s3 = signed(u); //explicitly qualified
Authors
Walter Bright, Andrei Alexandrescu, Shin Fujishiro, Adam D. Ruppe, Kenji Hara