[libcxx-commits] [PATCH] D140653: [libc++][format] Implements range_formatter

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Dec 28 09:22:16 PST 2022


Mordante created this revision.
Herald added a project: All.
Mordante updated this revision to Diff 485203.
Mordante added a comment.
Mordante updated this revision to Diff 485204.
Mordante updated this revision to Diff 485206.
Mordante updated this revision to Diff 485379.
Mordante updated this revision to Diff 485397.
Mordante published this revision for review.
Mordante added reviewers: ldionne, vitaut.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

CI fixes.


Mordante added a comment.

CI fixes.


Mordante added a comment.

CI fixes.


Mordante added a comment.

CI fixes and polishing.


Mordante added a comment.

CI fixes and polishing.



================
Comment at: libcxx/include/__format/range_formatter.h:109
+    if (__begin != __end && *__begin != _CharT('}'))
+      std::__throw_format_error("The format-spec should consume the input or end with a '}'");
+
----------------
I will look at better error message in the future. I think it makes sense to review them all and make sure they get a consistent style.


Implements parts of

- P2286R8 Formatting Ranges
- P2585R0 Improving default container formatting

Depends on D140651 <https://reviews.llvm.org/D140651>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140653

Files:
  libcxx/docs/Status/FormatPaper.csv
  libcxx/include/CMakeLists.txt
  libcxx/include/__format/buffer.h
  libcxx/include/__format/format_context.h
  libcxx/include/__format/formatter_output.h
  libcxx/include/__format/formatter_string.h
  libcxx/include/__format/parser_std_format_spec.h
  libcxx/include/__format/range_default_formatter.h
  libcxx/include/__format/range_formatter.h
  libcxx/include/__memory/allocate_at_least.h
  libcxx/include/format
  libcxx/include/module.modulemap.in
  libcxx/test/libcxx/private_headers.verify.cpp
  libcxx/test/libcxx/transitive_includes/cxx2b.csv
  libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.format.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
  libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.vformat.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/format.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/parse.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/set_brackets.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/set_separator.pass.cpp
  libcxx/test/std/utilities/format/format.range/format.range.formatter/underlaying.pass.cpp
  libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
  libcxx/test/support/format.functions.common.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140653.485397.patch
Type: text/x-patch
Size: 114978 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20221228/c8f1d314/attachment-0001.bin>


More information about the libcxx-commits mailing list