View source code
Display the source code in std/experimental/checkedint.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.
Function std.experimental.checkedint.WithNaN.hookOpUnary
Defines hooks for unary operators -
, ~
, ++
, and --
.
auto hookOpUnary(string x, T)
(
ref T v
);
For -
and ~
, if v == WithNaN
, returns
WithNaN
. Otherwise, the semantics is the same as for the
built-in operator.
For ++
and --
, if v == WithNaN
or the operation
would result in an overflow, sets v
to WithNaN
.
Otherwise, the semantics is the same as for the built-in operator.
Parameters
Name | Description |
---|---|
x | The operator symbol |
v | The left-hand side of the comparison (T is the first argument to
Checked ) |
Returns
- For
x == "-" || x == "~"
: Ifv == WithNaN
, the function returns.defaultValue!T WithNaN
. Otherwise it returns the normal result of the operator..defaultValue!T - For
x == "++" || x == "--"
: The function returnsvoid
.
Example
Checked!(int, WithNaN) x;
++x;
assert(x .isNaN);
x = 1;
assert(!x .isNaN);
x = -x;
++x;
assert(!x .isNaN);
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.