libc++ Format Status¶
Overview¶
This document contains the status of the 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 |
Status |
First released version |
|
---|---|---|---|---|---|---|
Formatting chrono |
||||||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
17.0 |
|||
Formatter |
A |
Not assigned |
||||
Formatter |
A |
Not assigned |
||||
Formatter |
A |
Not assigned |
||||
Formatter |
Mark de Wever |
Complete |
17.0 |
|||
Formatter |
Mark de Wever |
Complete |
17.0 |
|||
Formatter |
A |
Not assigned |
||||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
16.0 |
|||
Formatter |
Mark de Wever |
Complete |
17.0 |
|||
Formatter |
A |
Mark de Wever |
||||
Formatter |
A |
Mark de Wever |
||||
Formatter |
A |
Mark de Wever |
||||
Formatting ranges |
||||||
Concept |
Mark de Wever |
Complete |
16.0 |
|||
std-format-spec |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: sequences |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: map |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: set |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: container adaptors |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: |
Mark de Wever |
Complete |
16.0 |
|||
Formatting for ranges: |
Mark de Wever |
Complete |
16.0 |
|||
Improving default container formatting |
||||||
Formatting for ranges: strings |
Mark de Wever |
Complete |
17.0 |
|||
Formatting for ranges: debug_strings |
Mark de Wever |
Complete |
17.0 |
|||
Formatting |
||||||
Formatting |
Mark de Wever |
Complete |
17.0 |
|||
Formatting |
A |
Mark de Wever |
||||
Formatted output |
||||||
Output to |
Mark de Wever |
Complete |
17.0 |
|||
Output to |
Mark de Wever |
Complete |
17.0 |
|||
Output to |
Mark de Wever |
Complete |
18.0 |
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 |
Standard |
Assignee |
Status |
First released version |
---|---|---|---|---|---|
Text Formatting |
C++20 |
Mark de Wever |
Complete |
14.0 |
|
Printf corner cases in std::format |
C++20 |
Mark de Wever |
Complete |
14.0 |
|
Extended locale-specific presentation specifiers for std::format |
C++20 |
Mark de Wever |
Complete |
14.0 |
|
width: clarifying units of width and precision in std::format (Implements the unicode support.) |
C++20 |
Mark de Wever |
Complete |
14.0 |
|
std::format improvements |
C++20 |
Mark de Wever |
Complete |
15.0 |
|
Add support for |
C++20 |
Mark de Wever |
Complete |
15.0 |
|
Formatted output |
C++23 |
Mark de Wever |
Complete |
18.0 |
|
Formatting Ranges |
C++23 |
Mark de Wever |
Complete |
16.0 |
|
Exposing |
C++23 |
Mark de Wever |
Complete |
15.0 |
|
Improving default container formatting |
C++23 |
Mark de Wever |
Complete |
17.0 |
|
Should the output of |
C++23 |
Mark de Wever |
Complete |
18.0 |
|
Escaping improvements in |
C++23 |
Mark de Wever |
|||
|
C++23 |
Mark de Wever |
Complete |
17.0 |
|
|
C++23 |
Mark de Wever |
Complete |
17.0 |
|
Formatting |
C++23 |
Mark de Wever |
In Progress |
||
Formatting pointers |
C++26 |
Mark de Wever |
Complete |
17.0 |
|
Type-checking format args |
C++26 |
||||
Member |
C++26 |
||||
Runtime format strings |
C++26 DR |
Mark de Wever |
Complete |
18.0 |
|
Runtime format strings II |
C++26 |
Mark de Wever |
Complete |
18.0 |
|
Fix formatting of code units as integers (Dude, where’s my |
C++26 DR |
Mark de Wever |
Complete |
18.0 |
|
Integration of chrono with text formatting |
C++20 |
Mark de Wever |
In Progress |
||
Fixing locale handling in chrono formatters |
C++20 |
Mark de Wever |
In Progress |
||
Clarify handling of encodings in localized formatting of chrono types |
C++23 |