a without evaluating b if cond is true. Otherwise, returns b without evaluating a.
real run() { return 0; } int fail() { assert(0); } auto a = select!true(run(), fail()); auto b = select!false(fail(), run()); static assert(is(typeof(a) == real)); static assert(is(typeof(b) == real));
Select one of two functions to run via template parameter.