On Thursday, 27 June 2024 at 18:51:19 UTC, Josh Holtrop wrote:
Hello all. In my application I came across a desire to store an
ordered array of handles that could point to one of several
different objects, and it seems like the tool I want for that
is SumType.
I started with something like (simplified of course):
```d
class Foo {}
class Bar {}
My Variant package can do this type of thing
https://github.com/apz28/dlang/blob/main/source/pham/var/var_variant.d#L3430
Variant[] mixedC;
mixedC ~= new Foo();
mixedC ~= new Bar();
size_t foundCount;
foreach (v; mixedC)
{
if (auto c = v.peek!Foo)
{
foundCount++;
}
}
assert(foundCount == 1);