23 #include <boost/algorithm/string.hpp>
24 #include <boost/range/adaptors.hpp>
32 template <
class ValueType>
33 static std::string pairToString(std::pair<std::string const, ValueType>
const& _pair)
35 return "\"" + _pair.first +
"\": " +
toString(_pair.second);
40 std::string ImportPerformanceLogger::constructReport(
double _totalElapsed, std::unordered_map<std::string, std::string>
const& _additionalValues)
42 static std::string
const Separator =
", ";
45 if (!_additionalValues.empty())
47 auto const keyValuesAdditional = _additionalValues | boost::adaptors::transformed(pairToString<std::string>);
48 result += boost::algorithm::join(keyValuesAdditional, Separator);
52 m_stages.emplace(
"total", _totalElapsed);
53 auto const keyValuesStages = m_stages | boost::adaptors::transformed(pairToString<double>);
54 result += boost::algorithm::join(keyValuesStages, Separator);