On Thursday, 15 February 2018 at 00:34:33 UTC, Meta wrote:
On Thursday, 15 February 2018 at 00:27:40 UTC, Meta wrote:
On Wednesday, 14 February 2018 at 23:46:30 UTC, aliak wrote:
On Wednesday, 14 February 2018 at 15:14:24 UTC, Meta wrote:

Ooh yes, of course! Thank you :)

Even better:

import std.conv;

auto b = a.map!(to!float);

Actually, that won't quite work without redefining map a little:

Optional!U map(alias f, U = typeof(f(t.init)))()
{
    etc...
}

Ah yes, true, also auto return would work. But then you'd still need to do the typeof(f(T.init)) evaluation in the body... plus you lose being able to see an explicit return type i guess... hmm. So nevermind :)

Though a free function would be good me thinks. Then you could use it seamlessly with std.algorithm.map.

Optional!U map(alias f, T, U = typeof(f(T.init)))(Optional!T opt)
{
    return Optional!U(f(opt.t));
}

Cheers,
- Ali



Reply via email to