prefer C++20 + fmt + string_view over boost::algorithm
- drop pre-C++20 code
- prefer C++20 and
fmtoverboost::algorithm - add an implicit conversion from
StringKeyto std::string_view, so that StringKeyHash can be simplified - reduce scope of
operator+where one of the arguments is aStringKeyto its minimum, to avoid it being considered during overload resolution more than strictly necessary (note: as a result, lhcb/Rec!4527 (merged) should be merged first, as there was code relying on the implicit conversion toStringKeyduring concatenation) - in
Gaudi::Parsers::Utils::replaceEnvironments, look for the next replacement in the output string skipping over the already processed part, instead of replacing the first occurrence which would result in a problem if a previously substituted value would happen contain one of the next matches -- which probably never happens, except when crafting a malicious substitution which explicitly targets this problem... - in
PropertyValue, reuse the formatting defined inGaudiUtilsfor consistency instead of using its own in-situ formatting
Edited by Gerhard Raven