Necessary Maintenance #9869
ParameterSet needs a general tree-traversal algorithm
There are various instances when we need to traverse the entire
ParameterSet tree (including all nested
- obtaining various kinds of printouts (un-annotated, annotated, and parsable)
- assembling the complete list of nested keys
There are multiple places where this is done by hand. The tree-walking algorithm should be a general one, separable from the operations to be done per "node" (atom, sequence, or table). An interface can be developed so that any new feature that requires tree traversal can inherit from an abstract base class, overriding the relevant functions which are then called by the walking algorithm.