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

node_set rules population selection #157

@ferdonline

Description

@ferdonline

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions