static if (__VERSION__ >= 2081) { import std.conv : to; union U { int number; string text; } alias TU = TaggedUnion!U; auto tu = TU.number(42); tu.visit!( (int n) { assert(n == 42); }, (string s) { assert(false); } ); assert(tu.visit!((v) => to!int(v)) == 42); tu.setText("43"); assert(tu.visit!((v) => to!int(v)) == 43); }
Dispatches the value contained on a TaggedUnion or TaggedAlgebraic to a set of visitors.
A visitor can have one of three forms:
....