[libc++] Format Status
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
- [x] [P1361R2](https://wg21.link/P1361R2) [P2372R3](https://wg21.link/P2372R3) Formatting chrono
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::duration` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::sys_time` | LLVM 17
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::utc_time` | LLVM 20
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::tai_time` | LLVM 21
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::gps_time` | LLVM 21
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::file_time` | LLVM 17
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::local_time` | LLVM 17
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::local-time-format-t` | Nothing To Do
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::day` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::month` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::weekday` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::weekday_indexed` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::weekday_last` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::month_day` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::month_day_last` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::month_weekday` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::month_weekday_last` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year_month` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year_month_day` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year_month_day_last` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year_month_weekday` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::year_month_weekday_last ` | LLVM 16
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::hh_mm_ss>` | LLVM 17
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::sys_inf` | LLVM 19
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::local_info ` | LLVM 19
- [x] [[time.syn]](https://wg21.link/time.syn) Formatter `chrono::zoned_time` | LLVM 19
- [ ] [P2693R1](https://wg21.link/P2693R1) Formatting `thread::id` and `stacktrace`
- [x] [[thread.thread.id]](https://wg21.link/thread.thread.id) Formatting `thread::id` | LLVM 17
- [ ] [[stacktrace.format]](https://wg21.link/stacktrace.format) Formatting `stacktrace`
- [x] [P0645](https://wg21.link/P0645) | C++20 | Text Formatting | LLVM14
- [x] [P1652](https://wg21.link/P1652) | C++20 | Printf corner cases in std::format | LLVM 14
- [x] [P1892](https://wg21.link/P1892) | C++20 | Extended locale-specific presentation specifiers for std::format | LLVM 14
- [x] [P1868](https://wg21.link/P1868) | C++20 | width: clarifying units of width and precision in std::format (Implements the unicode support.) | LLVM 14
- [x] [P2216](https://wg21.link/P2216) | C++20 | `std::format` improvements | LLVM 15
- [x] [P2418](https://wg21.link/P2418) | C++20 | Add support for `std::generator`-like types to `std::format` | LLVM 15
- [x] [P2093R14](https://wg21.link/P2093R14) | C++23 | Formatted output | LLVM 18
- [x] [P2286R8](https://wg21.link/P2286R8) | C++23 | Formatting Ranges | LLVM 16
- [x] [P2508R1](https://wg21.link/P2508R1) | C++23 | Exposing std::basic-format-string | LLVM 15
- [x] [P2585R0](https://wg21.link/P2585R0) | C++23 | Improving default container formatting | LLVM 17
- [x] [P2539R4](https://wg21.link/P2539R4) | C++23 | Should the output of std::print to a terminal be synchronized with the underlying stream? | LLVM 18
- [x] [P2713R1](https://wg21.link/P2713R1) | C++23 | Escaping improvements in `std::format` | LLVM 19
- [x] [P2675R1](https://wg21.link/P2675R1) | C++23 | format’s width estimation is too approximate and not forward compatible | LLVM 17
- [x] [P2572R1](https://wg21.link/P2572R1) | C++23 | `std::format` fill character allowances | LLVM 17
- [ ] [P2693R1](https://wg21.link/P2693R1) | C++23 | Formatting `thread::id` and `stacktrace`
- [x] [P2510R3](https://wg21.link/P2510R3) | C++26 | Formatting pointers | LLVM 17
- [ ] [P2757R3](https://wg21.link/P2757R3) | C++26 | Type-checking format args
- [x] [P2637R3](https://wg21.link/P2637R3) | C++26 | Member visit | LLVM 19
- [x] [P2905R2](https://wg21.link/P2905R2) | C++26 DR | Runtime format strings | LLVM 18
- [x] [P2918R2](https://wg21.link/P2918R2) | C++26 | Runtime format strings II | LLVM 18
- [x] [P2909R4](https://wg21.link/P2909R4) | C++26 DR | Fix formatting of code units as integers (Dude, where’s my char?) | LLVM 18
- [ ] [P3107R5](https://wg21.link/P3107R5) | C++26 DR | Permit an efficient implementation of std::print
- [x] [P3142R0](https://wg21.link/P3142R0) | C++26 DR | Printing Blank Lines with `println` | LLVM 19
- [ ] [P2845R8](https://wg21.link/P2845R8) | C++26 | Formatting of `std::filesystem::path`
- [x] [P1361](https://wg21.link/P1361) | C++20 | Integration of chrono with text formatting | LLVM 21
- [x] [P2372](https://wg21.link/P2372) | C++20 | Fixing locale handling in chrono formatters | LLVM 21
- [ ] [P2419R2](https://wg21.link/P2419R2) | C++23 DR | Clarify handling of encodings in localized formatting of chrono types
Contributor guide
Research direction
Start by reviewing the unchecked proposal entries, especially stacktrace formatting, type-checking format arguments, efficient std::print, filesystem::path formatting, and localized chrono encodings, along with their linked standard clauses. The work is done when the selected proposal is implemented in libc++ and its checklist entry can be marked complete; this issue names no source files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100