Raphaël Jakse:
auto E = new Set!int([1,2,3,4]); // it is possible to
declare an empty set
You can add a factory helper:
auto e = set([1, 2, 3, 4]);
Or even:
auto e = set(1, 2, 3, 4);
writeln("union: ", E.Union(F));
writeln("inter: ", E.Inter(F));
writeln("symmetric difference: ", E.SymDiff(F));
writeln("minus: ", E.Minus(F));
writeln("Powerset: ", E.Powerset);
In idiomatic D all the member functions start with a lowercase
letter.
And a little operator overloading helps, look at the Python set()
for a nice API.
// beware, because S is an untyped set (Set!() or
Set!Object),
Probably in idiomatic D you use templates, so Set!Object is a
very uncommon usage, unlike Java.
Should Phobos have something similar built in?
A set is a good thing to have in Phobos, but the API and design
should be a little different from yours.
Bye,
bearophile