On Tuesday, 3 December 2019 at 13:43:26 UTC, Jan Hönig wrote:
It seems i don't google the right keywords.
What i want to do: I have two sets. (I didn't find how to do
sets, so i have two associative boolean arrays
`bool[<something>]`). And i want to join them, via an
intersection.
I know how to code this. Loop over one AA, if the key is also
in the other one, we add that to the third array which is going
to be returned.
pseudocode:
alias set = bool[<something>]
set foo = ...
set bar = ...
set result;
foreach(key; foo)
{
if (key in bar)
{
result[key] = true;
}
}
return result;
1) Is there a better way for creating a set, other then `alias
set = bool[keyClass]`?
This depends on the available accesses on your sets. In terms of
ranges:
Are your sets InputRanges, ForwardRange, ... ?
2) Are there some build-in function for handling such sets?
This is maybe what you are looking for:
https://dlang.org/phobos/std_algorithm_setops.html