std.typecons.Nullable.opAssign
- multiple declarations
Function Nullable.opAssign
Assigns value
to the internally-held state. If the assignment
succeeds, this
becomes non-null.
Parameters
Name | Description |
---|---|
value | A value of type T to assign to this Nullable . |
Example
If this Nullable
wraps a type that already has a null value
(such as a pointer), then assigning the null value to this
Nullable
is no different than assigning any other value of
type T
, and the resulting code will look very strange. It
is strongly recommended that this be avoided by instead using
the version of Nullable
that takes an additional nullValue
template argument.
//Passes
Nullable!(int*) npi;
assert(npi .isNull);
//Passes?!
npi = null;
assert(!npi .isNull);
Function Nullable.opAssign
Assigns value
to the internally-held state. If the assignment
succeeds, this
becomes non-null. No null checks are made. Note
that the assignment may leave this
in the null state.
void opAssign
(
T value
);
Parameters
Name | Description |
---|---|
value | A value of type T to assign to this Nullable .
If it is nullvalue , then the internal state of
this Nullable will be set to null. |
Example
If this Nullable
wraps a type that already has a null value
(such as a pointer), and that null value is not given for
nullValue
, then assigning the null value to this Nullable
is no different than assigning any other value of type T
,
and the resulting code will look very strange. It is strongly
recommended that this be avoided by using T
's "built in"
null value for nullValue
.
//Passes
enum nullVal = cast(int*) 0xCAFEBABE;
Nullable!(int*, nullVal) npi;
assert(npi .isNull);
//Passes?!
npi = null;
assert(!npi .isNull);
Authors
Andrei Alexandrescu, Bartosz Milewski, Don Clugston, Shin Fujishiro, Kenji Hara