View source code
Display the source code in std/conv.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla 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 usinglocal clone.
Function std.conv.signed
Returns the corresponding signed value for x
(e.g. if x
has type
uint
, it returns cast(int) x
). The advantage compared to the cast
is that you do not need to rewrite the cast if x
later changes type
(e.g from uint
to ulong
).
auto signed(T)(
T x
)
if (isIntegral!T);
Note that the result is always mutable even if the original type was const
or immutable. In order to retain the constness, use Signed
.
Example
import std .traits : Signed;
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
License
Copyright © 1999-2025 by the D Language Foundation | Page generated by ddox.