17struct fmt::formatter<ll::data::TmWithMs, Char> : formatter<std::tm, Char> {
19 detail::arg_ref<Char> precisionRef;
20 fmt::format_specs specs;
23 constexpr formatter() {
24 parse_context<Char>
ctx{detail::string_literal<Char,
'%',
'T'>{}};
25 this->do_parse(
ctx,
false);
28 template <
typename FormatContext>
30 formatter<std::tm, Char>::format(val,
ctx);
32 if (specs.precision > 0) {
33 fmt::format_to(out,
"{0:0>{1}}", val.ms, specs.precision);
37 constexpr auto parse(basic_format_parse_context<Char>&
ctx) ->
decltype(
ctx.begin()) {
38 auto it =
ctx.begin(), end =
ctx.end();
39 if (it == end || *it ==
'}')
return it;
41 it = detail::parse_precision(it, end, specs, precisionRef,
ctx);
44 return formatter<std::tm, Char>::parse(
ctx);