BxCppDev / Bayeux

Core Persistency, Geometry and Data Processing C++ Library for Particle and Nuclear Physics Experiments
GNU General Public License v3.0
4 stars 9 forks source link

Refactor and modernize datatools/utils interfaces #66

Closed drbenmorgan closed 1 year ago

drbenmorgan commented 4 years ago

This splits out functions in the datatools/utils.h into separate headers and sources by task for clarity and cohesion:

This makes maintenance and understanding easier, with an eye to supporting configuration-from-database that SuperNEMO will need. This requires clearer use and understanding of the path expansion tools and their interaction with other parts of the configuration system (kernel, variants, assumption of filesystem).

The datatools/utils.h header is retained so clients of these classes do not need to change #includes. It simply forwards to the three new headers. Modernization following ISO C++ Guidelines has also been done with: