libc++ Format Status¶
Overview¶
This document contains the status of the C++20 Format library in libc++. It is used to track both the status of the sub-projects of the Format library and who is assigned to these sub-projects. This is imperative to effective implementation so that work is not duplicated and implementors are not blocked by each other.
If you are interested in contributing to the libc++ Format library, please send a message to the #libcxx channel in the LLVM discord. Please do not start working on any of the assigned items below.
Sub-Projects in the Format library¶
Section | Description | Dependencies | Assignee | Patch | Status | First released version |
---|---|---|---|---|---|---|
[format.functions] | Format functions - Improve performance format_to_n | Mark de Wever | D110499 | Review | ||
[format.functions] | Format functions - Improve performance formatted size | Mark de Wever | D110498 | Review | ||
[format.functions] | P2216 - Compile-time checks | Mark de Wever | D121530 | Review | ||
[format.functions] | P2216 - Binary size | Mark de Wever | D110494 | Complete | Clang 14 | |
[time.syn] | Formatter chrono::duration<Rep, Period> |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::sys_time<Duration> |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::utc_time<Duration> |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::tai_time<Duration> |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::gps_time<Duration> |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::file_time<Duration> |
Not assigned | ||||
[time.syn] | Formatter chrono::local_time<Duration> |
Not assigned | ||||
[time.syn] | Formatter chrono::local-time-format-t<Duration> |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::day |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::month |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::weekday |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::weekday_indexed |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::weekday_last |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::month_day |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::month_day_last |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::month_weekday |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::month_weekday_last |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year_month |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year_month_day |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year_month_day_last |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year_month_weekday |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::year_month_weekday_last |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::hh_mm_ss<duration<Rep, Period>> |
Mark de Wever | In Progress | |||
[time.syn] | Formatter chrono::sys_info |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::local_info |
A <chrono> implementation |
Not assigned | |||
[time.syn] | Formatter chrono::zoned_time<Duration, TimeZonePtr> |
A <chrono> implementation |
Not assigned |
Misc. Items and TODOs¶
(Please mark all Format-related TODO comments with the string TODO FMT
, so we
can find them easily.)
Paper and Issue Status¶
Number | Name | Assignee | Patch | Status | First released version |
---|---|---|---|---|---|
P0645 | Text Formatting | Mark de Wever | Complete | Clang 14 | |
P1652 | Printf corner cases in std::format | Mark de Wever | D103433, D114001 | Complete | Clang 14 |
P1892 | Extended locale-specific presentation specifiers for std::format | Mark de Wever | D103368 | Complete | Clang 14 |
P1868 | width: clarifying units of width and precision in std::format (Implements the unicode support.) | Mark de Wever | D103413 D103425 D103670 | Complete | Clang 14 |
P2216 | std::format improvements | Mark de Wever | In Progress | ||
P2418 | Add support for std::generator -like types to std::format |
Mark de Wever | In Progress | ||
P1361 | Integration of chrono with text formatting | Mark de Wever | In Progress | ||
P2372 | Fixing locale handling in chrono formatters | Mark de Wever | In Progress |