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.