Project

General

Profile

Necessary Maintenance #9869

ParameterSet needs a general tree-traversal algorithm

Added by Kyle Knoepfel almost 5 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
08/21/2015
Due date:
% Done:

100%

Estimated time:
40.00 h
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
fhicl-cpp
Duration:

Description

There are various instances when we need to traverse the entire ParameterSet tree (including all nested ParameterSet objects):

  • obtaining various kinds of printouts (un-annotated, annotated, and parsable)
  • assembling the complete list of nested keys
  • etc.

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.


Related issues

Blocks art - Feature #8300: FHiCL parameter tracker needs to provide parsable outputClosed04/10/201508/01/2015

History

#1 Updated by Kyle Knoepfel almost 5 years ago

  • Estimated time set to 40.00 h

#2 Updated by Kyle Knoepfel almost 5 years ago

I have already developed the interface and tree-walking algorithm. It is now a matter of implementing current functionalities using it.

#3 Updated by Kyle Knoepfel almost 5 years ago

  • Target version set to 1.18.00

#4 Updated by Kyle Knoepfel almost 5 years ago

  • Blocks Feature #8300: FHiCL parameter tracker needs to provide parsable output added

#5 Updated by Christopher Green almost 5 years ago

  • Status changed from New to Assigned

#6 Updated by Kyle Knoepfel over 4 years ago

  • Status changed from Assigned to Resolved
  • % Done changed from 70 to 100

Implemented as the private member function fhicl::ParameterSet::walk_. See notes in ParameterSetWalker and commit fhicl-cpp:08912823.

#7 Updated by Kyle Knoepfel over 4 years ago

  • Target version changed from 1.18.00 to 1.16.00

#8 Updated by Christopher Green over 4 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF