This splits out functions in the datatools/utils.h into separate headers and sources by task for clarity and cohesion:
bit manipulation
string manipulation
floating point manipulation
Path expansion
return types
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:
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: