Added toOptional function.
This commit is contained in:
parent
97d996b90c
commit
2d97e36b0c
|
|
@ -147,6 +147,18 @@ auto mapIfPresent(alias fn, T)(Optional!T opt) {
|
||||||
return Optional!U.of(fn(opt.value));
|
return Optional!U.of(fn(opt.value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper function to get an Optional value for an existing value. Due to D's
|
||||||
|
* type inference, you can simply write `auto opt = toOptional(x);` to avoid
|
||||||
|
* having to write out types when constructing optionals.
|
||||||
|
* Params:
|
||||||
|
* t = The value to construct an optional from.
|
||||||
|
* Returns: The optional with the given value.
|
||||||
|
*/
|
||||||
|
Optional!T toOptional(T)(T t) {
|
||||||
|
return Optional!T.of(t);
|
||||||
|
}
|
||||||
|
|
||||||
unittest {
|
unittest {
|
||||||
Optional!string s = Optional!string.of("hello");
|
Optional!string s = Optional!string.of("hello");
|
||||||
assert(!s.isNull);
|
assert(!s.isNull);
|
||||||
|
|
@ -208,3 +220,11 @@ unittest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Tests for toOptional.
|
||||||
|
unittest {
|
||||||
|
int x = 5;
|
||||||
|
auto optX = x.toOptional;
|
||||||
|
assert(!optX.isNull);
|
||||||
|
assert(optX.value == 5);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue