This repository was archived by the owner on Feb 26, 2025. It is now read-only.

Description
We don't seem to have a way to properly filter nodes according to the nodeset population selector..
The nodeset entries cannot be inspected to know which node population to open, and the Nodeset rule
is basically a no-op, which either return the same set if the provided node population matches, otherwise returns an empty set. We are left with the workaround of opening all the populations and run materialize against them all
|
if (std::find(values_.begin(), values_.end(), np.name()) != values_.end()) { |
A possibility could be to have a somewhat high level API, where we could have NodeSet objects, inspect them, and (why not) having a NodeStorage doing filtering on entries directly from them.
Some extras:
I see constructors copying values passed by rvalue-ref, which is not very idiomatic. Either copy from const-ref of move the rvalue-ref.. (Unless you want to force passing only rvalues?)
|
explicit NodeSetBasicPopulation(std::vector<std::string>&& values) |
Or even moving copies, instead of initializing from a const-ref
|
NodeSetCompoundRule(std::string name, CompoundTargets targets) |