downs palsat:
> void doWhile(void delegate() pre, lazy bool cond, void delegate() post) {
> while (true) {
> pre;
> if (!cond()) break;
> post;
> }
> }
More simply:
void doWhile(void delegate() pre, lazy bool cond, void delegate() post) {
for (pre; cond; pre) post;
}