[libc++][chrono] Implements formatter day.
This implements the enabled specializaton
template<class charT> struct formatter<chrono::day, charT>;
and
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const day& d);
Implements:
- LWG 3241 chrono-spec grammar ambiguity in ยง[time.format]
Partially implements:
- P1361 Integration of chrono with text formatting
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D128577
NOKEYCHECK=True
GitOrigin-RevId: e5d2d3eafbb367450c4fb75d3ee72b3b4bba522b
diff --git a/include/module.modulemap.in b/include/module.modulemap.in
index 4898dae..cf1c7dd 100644
--- a/include/module.modulemap.in
+++ b/include/module.modulemap.in
@@ -492,29 +492,43 @@
export *
module __chrono {
- module calendar { private header "__chrono/calendar.h" }
- module convert_to_timespec { private header "__chrono/convert_to_timespec.h" }
- module day { private header "__chrono/day.h" }
- module duration { private header "__chrono/duration.h" }
- module file_clock { private header "__chrono/file_clock.h" }
- module hh_mm_ss { private header "__chrono/hh_mm_ss.h" }
- module high_resolution_clock {
+ module calendar { private header "__chrono/calendar.h" }
+ module convert_to_timespec { private header "__chrono/convert_to_timespec.h" }
+ module convert_to_tm { private header "__chrono/convert_to_tm.h" }
+ module day { private header "__chrono/day.h" }
+ module duration { private header "__chrono/duration.h" }
+ module file_clock { private header "__chrono/file_clock.h" }
+ module formatter {
+ @requires_LIBCXX_ENABLE_LOCALIZATION@
+ private header "__chrono/formatter.h"
+ }
+ module hh_mm_ss { private header "__chrono/hh_mm_ss.h" }
+ module high_resolution_clock {
private header "__chrono/high_resolution_clock.h"
export steady_clock
export system_clock
}
- module literals { private header "__chrono/literals.h" }
- module month { private header "__chrono/month.h" }
- module month_weekday { private header "__chrono/month_weekday.h" }
- module monthday { private header "__chrono/monthday.h" }
- module steady_clock { private header "__chrono/steady_clock.h" }
- module system_clock { private header "__chrono/system_clock.h" }
- module time_point { private header "__chrono/time_point.h" }
- module weekday { private header "__chrono/weekday.h" }
- module year { private header "__chrono/year.h" }
- module year_month { private header "__chrono/year_month.h" }
- module year_month_day { private header "__chrono/year_month_day.h" }
- module year_month_weekday { private header "__chrono/year_month_weekday.h" }
+ module literals { private header "__chrono/literals.h" }
+ module month { private header "__chrono/month.h" }
+ module month_weekday { private header "__chrono/month_weekday.h" }
+ module monthday { private header "__chrono/monthday.h" }
+ module ostream {
+ @requires_LIBCXX_ENABLE_LOCALIZATION@
+ private header "__chrono/ostream.h"
+ }
+ module parser_std_format_spec {
+ @requires_LIBCXX_ENABLE_LOCALIZATION@
+ private header "__chrono/parser_std_format_spec.h"
+ }
+ module statically_widen { private header "__chrono/statically_widen.h" }
+ module steady_clock { private header "__chrono/steady_clock.h" }
+ module system_clock { private header "__chrono/system_clock.h" }
+ module time_point { private header "__chrono/time_point.h" }
+ module weekday { private header "__chrono/weekday.h" }
+ module year { private header "__chrono/year.h" }
+ module year_month { private header "__chrono/year_month.h" }
+ module year_month_day { private header "__chrono/year_month_day.h" }
+ module year_month_weekday { private header "__chrono/year_month_weekday.h" }
}
}
module codecvt {