diff --git a/libcxx/docs/FormatIssuePaperStatus.csv b/libcxx/docs/FormatIssuePaperStatus.csv new file mode 100644 --- /dev/null +++ b/libcxx/docs/FormatIssuePaperStatus.csv @@ -0,0 +1,24 @@ +Number,Name,Assignee,Patch,Status,First released version +`P0645 `_,"Text Formatting",Mark de Wever,,|partial|, +`P1652 `_,"Printf corner cases in std::format",,,, +`P1892 `_,"Extended locale-specific presentation specifiers for std::format",,,, +`P1862 `_,"width: clarifying units of width and precision in std::format (Implements the unicode support.)",,,, +`LWG-3218 `_,"Modifier for %d parse flag does not match POSIX and format specification",,,, +`LWG-3242 `_,"std::format: missing rules for arg-id in width and precision",,,, +`LWG-3243 `_,"std:;format and negative zeroes",,,, +`LWG-3246 `_,"What are the constraints on the template parameter of basic_format_arg?",,,, +`LWG-3248 `_,"std::format #b, #B, #o, #x , and #X presentation types misformat negative numbers",,,, +`LWG-3250 `_,"std::format: # (alternate form) for NaN and inf",,,, +`LWG-3327 `_,"Format alignment specifiers vs. text direction",,,, +`LWG-3340 `_,"Formatting functions should throw on argument/format string mismatch in [format.functions]",,,, +`LWG-3371 `_,"visit_format_arg and make_format_args are not hidden friends",Mark de Wever,`D93593 `__,Review, +`LWG-3372 `_,"vformat_to should not try to deduce Out twice",,,, +`LWG-3373 `_,"{to,from}_chars_result and format_to_n_result need the 'we really mean what we say'",,,, + +`P1361 `_,"Integration of chrono with text formatting",,,, +`LWG-3230 `_,"Format specifier %y/%Y is missing locale alternative versions",,,, +`LWG-3241 `_,"chrono-spec grammar ambiguity in [time.format]",,,, +`LWG-3262 `_,"Formatting of negative durations is not specified",,,, +`LWG-3270 `_,"Parsing and formatting %j with durations",,,, +`LWG-3272 `_,"%I%p should parse/format duration since midnight",,,, +`LWG-3332 `_,"Issue in [time.format]",,,, diff --git a/libcxx/docs/FormatProposalStatus.csv b/libcxx/docs/FormatProposalStatus.csv new file mode 100644 --- /dev/null +++ b/libcxx/docs/FormatProposalStatus.csv @@ -0,0 +1,48 @@ +Section,Description,Dependencies,Assignee,Patch,Status,First released version +[charconv.to.chars],Fix integral conformance,,Mark de Wever,`D97705 `__,WIP, +[charconv.to.chars],Add floating-point conversion,`D97705 `__,"Mark de Wever (Code provided by Stephan T. Lavavej of Microsoft)",`D70631 `__,WIP, +[format.error],"Class format_error",,Mark de Wever,`D92214 `__,|Complete|,Clang 13 +[format.parse.ctx],"Class template basic_format_parse_context",,Mark de Wever,`D93166 `__,|Complete|,Clang 13 +[format.context],Class template basic_format_context,,Mark de Wever,`D93593 `__,Review, +[format.args],Class template basic_format_args,,Mark de Wever,`D93593 `__,Review, +[format.arg],Class template basic_format_arg,,Mark de Wever,`D93593 `__,Review, +[format.arg],Class template basic_format_arg - handle,,,,,, +[format.arg],Class template basic_format_arg - pointers,,,,,, +[format.arg.store],Class template format-arg-store,,Mark de Wever,`D93593 `__,Review, +[format.formatter.spec],Formatter specializations - character types,,Mark de Wever,`D96664 `__,Review, +[format.formatter.spec],Formatter specializations - string types,,Mark de Wever,`D96664 `__,Review, +[format.formatter.spec],Formatter specializations - boolean type,,Mark de Wever,`D96664 `__,Review, +[format.formatter.spec],Formatter specializations - integral types,,Mark de Wever,`D96664 `__,Review, +[format.formatter.spec],Formatter specializations - floating-point types,`D70631 `__,Mark de Wever,`D96664 `__,Review, +[format.formatter.spec],Formatter specializations - pointer types,,,,,, +[format.string.std],Standard format specifiers - character types,,Mark de Wever,,,, +[format.string.std],Standard format specifiers - string types,,Mark de Wever,,,, +[format.string.std],Standard format specifiers - boolean type,,Mark de Wever,,,, +[format.string.std],Standard format specifiers - integral types,,Mark de Wever,,,, +[format.string.std],Standard format specifiers - floating-point types,,Mark de Wever,,,, +[format.string.std],Standard format specifiers - pointer types,,Mark de Wever,,,, +[format.functions],"Format functions - format(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat(string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat(wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat(const locale& loc, string_view fmt, format_args args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat(const locale& loc, wstring_view fmt, wformat_args args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to(Out out, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to(Out out, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat_to(Out out, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat_to(Out out, wstring_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat_to(Out out, const locale& loc, string_view fmt, format_args_t, char> args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - vformat_to(Out out, const locale& loc, wstring_view fmt,format_args_t, wchar_t> args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to_n(Out out, iter_difference_t n, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to_n(Out out, iter_difference_t n, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - format_to_n_result format_to_n(Out out, iter_difference_t n, const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - formatted_size(string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - formatted_size(wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - formatted_size(const locale& loc, string_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],"Format functions - formatted_size(const locale& loc, wstring_view fmt, const Args&... args);",,Mark de Wever,`D96664 `__,Review, +[format.functions],Format functions - Implement locale support,,,,,, +[format.functions],Format functions - Improve performance format_to_n,,Mark de Wever,,,, +[format.functions],Format functions - Improve performance formatted size,,Mark de Wever,,,, diff --git a/libcxx/docs/FormatStatus.rst b/libcxx/docs/FormatStatus.rst new file mode 100644 --- /dev/null +++ b/libcxx/docs/FormatStatus.rst @@ -0,0 +1,53 @@ +.. ranges-status: + +================================ +libc++ Format Status +================================ + +.. include:: Helpers/Styles.rst + +.. contents:: + :local: + + +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 +================================== + +.. csv-table:: + :file: FormatProposalStatus.csv + :header-rows: 1 + :widths: auto + + +Misc. Items and TODOs +===================== + +(Note: files with required updates will contain TODO FMT comments with the +parts not implemented.) + + * C++23 may break the ABI with `P2216 `_. + This ABI break may be backported to C++20. Therefore the library will not + be available on platforms where the ABI break is an issue. + + +Paper and Issue Status +====================== + +.. csv-table:: + :file: FormatIssuePaperStatus.csv + :header-rows: 1 + :widths: auto diff --git a/libcxx/docs/index.rst b/libcxx/docs/index.rst --- a/libcxx/docs/index.rst +++ b/libcxx/docs/index.rst @@ -44,6 +44,7 @@ Cxx2aStatus Cxx2bStatus RangesStatus + FormatStatus .. toctree::