96 class 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;
184 template <
typename T>
185 nonvirtual T
As () const
186 requires (Common::IAnyOf<T, timeval, Characters::
String> or integral<T> or floating_point<T> or Common::IDuration<T> or
187 Common::ITimePoint<T>);
188 template <typename T>
189 nonvirtual T
As (Characters::FloatConversion::SignificantFigures p) const
190 requires (Common::IAnyOf<T, Characters::
String>);
201 template <typename T>
203 requires (same_as<T, timeval> or integral<T> or floating_point<T> or same_as<T, Characters::
String> or Common::IDuration<T> or
204 Common::ITimePoint<T>);
210 nonvirtual u8string
AsUTF8 () const;
215 struct PrettyPrintInfo {
245 static const PrettyPrintInfo kDefaultPrettyPrintInfo;
265 struct AgePrettyPrintInfo {
271 double fNowThreshold{};
275 static const AgePrettyPrintInfo kDefaultAgePrettyPrintInfo;
294 nonvirtual Characters::String
PrettyPrintAge (
const AgePrettyPrintInfo& agePrettyPrintInfo = kDefaultAgePrettyPrintInfo,
295 const PrettyPrintInfo& prettyPrintInfo = kDefaultPrettyPrintInfo)
const;
301 nonvirtual Characters::String
ToString ()
const;
322 class FormatException;
325 static InternalNumericFormatType_ ParseTime_ (
const string& s);
326 static Characters::String UnParseTime_ (InternalNumericFormatType_ t, Characters::FloatConversion::SignificantFigures p);
336 static constexpr InternalNumericFormatType_ kValueWhenEmptyRenderedAsNumber_{0};
342 RepType_ fRepType_{eEmpty_};
344 char fNonStringRep_{};
347 constexpr void destroy_ ();