96 class [[nodiscard]]
Duration final :
public chrono::duration<double> {
98 using inherited = chrono::duration<double>;
113 template <Characters::IConvertibleToString STRINGISH_T>
114 explicit Duration (STRINGISH_T&& durationStr);
115 constexpr Duration (
int durationInSeconds);
116 constexpr Duration (
long durationInSeconds);
117 constexpr Duration (
long long durationInSeconds);
118 constexpr Duration (
float durationInSeconds);
119 constexpr Duration (
double durationInSeconds);
120 constexpr Duration (
long double durationInSeconds)
noexcept;
121 template <
typename DURATION_REP,
typename DURATION_PERIOD>
122 constexpr Duration (
const chrono::duration<DURATION_REP, DURATION_PERIOD>& d);
132 using InternalNumericFormatType_ = inherited::rep;
137 nonvirtual
void clear ();
142 constexpr bool empty ()
const;
181 template <
typename T>
182 nonvirtual T
As () const
183 requires (Common::IAnyOf<T, timeval, Characters::
String> or integral<T> or floating_point<T> or Common::IDuration<T> or
184 Common::ITimePoint<T>);
185 template <typename T>
186 nonvirtual T As (Characters::FloatConversion::Precision p) const
187 requires (Common::IAnyOf<T, Characters::
String>);
198 template <typename T>
199 nonvirtual T AsPinned () const
200 requires (same_as<T, timeval> or integral<T> or floating_point<T> or same_as<T, Characters::
String> or Common::IDuration<T> or
201 Common::ITimePoint<T>);
207 nonvirtual u8string AsUTF8 () const;
212 struct PrettyPrintInfo {
242 static const PrettyPrintInfo kDefaultPrettyPrintInfo;
248 nonvirtual
Characters::String PrettyPrint (
const PrettyPrintInfo& prettyPrintInfo = kDefaultPrettyPrintInfo)
const;
259 nonvirtual
Characters::String Format (
const PrettyPrintInfo& prettyPrintInfo = kDefaultPrettyPrintInfo)
const;
262 struct AgePrettyPrintInfo {
268 double fNowThreshold{};
272 static const AgePrettyPrintInfo kDefaultAgePrettyPrintInfo;
291 nonvirtual Characters::String PrettyPrintAge (
const AgePrettyPrintInfo& agePrettyPrintInfo = kDefaultAgePrettyPrintInfo,
292 const PrettyPrintInfo& prettyPrintInfo = kDefaultPrettyPrintInfo)
const;
298 nonvirtual Characters::String ToString ()
const;
304 static constexpr Duration min ();
310 static constexpr Duration max ();
316 nonvirtual Duration operator- ()
const;
319 class FormatException;
322 static InternalNumericFormatType_ ParseTime_ (
const string& s);
323 static Characters::String UnParseTime_ (InternalNumericFormatType_ t, Characters::FloatConversion::Precision p);
333 static constexpr InternalNumericFormatType_ kValueWhenEmptyRenderedAsNumber_{0};
339 RepType_ fRepType_{eEmpty_};
341 char fNonStringRep_{};
344 constexpr void destroy_ ();