MCPcopy Create free account
hub / github.com/comaps/comaps / GetString

Function GetString

libs/i18n/duration.cpp:55–79  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53}
54
55std::string GetString(Duration const & duration, std::initializer_list<Duration::Units> units,
56 std::string_view unitSeparator, std::string_view groupingSeparator)
57{
58 ASSERT(units.size(), ());
59 ASSERT(base::IsSortedAndUnique(units), ());
60
61 if (SecondsToUnits(duration.GetUnderlying(), Duration::Units::Minutes) == 0)
62 return std::to_string(0U).append(unitSeparator).append(GetUnitsString(Duration::Units::Minutes));
63
64 std::string formattedTime;
65 seconds remainingSeconds = duration.GetUnderlying();
66
67 for (auto const unit : units)
68 {
69 unsigned long const unitsCount = SecondsToUnits(remainingSeconds, unit);
70 if (unitsCount > 0)
71 {
72 if (!formattedTime.empty())
73 formattedTime.append(groupingSeparator);
74 formattedTime.append(std::to_string(unitsCount).append(unitSeparator).append(GetUnitsString(unit)));
75 remainingSeconds -= UnitsToSeconds(unitsCount, unit);
76 }
77 }
78 return formattedTime;
79}
80} // namespace
81
82std::string GetLocalizedString(Duration const & duration, std::initializer_list<Duration::Units> units,

Callers 4

GetLocalizedStringFunction · 0.70
GetStringMethod · 0.70
ToStringForStatsMethod · 0.50

Calls 9

ASSERTFunction · 0.85
IsSortedAndUniqueFunction · 0.85
SecondsToUnitsFunction · 0.85
to_stringFunction · 0.85
GetUnitsStringFunction · 0.85
UnitsToSecondsFunction · 0.85
sizeMethod · 0.45
appendMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected