[libcxx-commits] [PATCH] D120921: [libc++][format] Adds a formattable concept.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Mar 3 10:57:24 PST 2022


Quuxplusone added inline comments.


================
Comment at: libcxx/include/__format/concepts.h:38-44
+template <class _Tp, class _CharT>
+concept __formattable = semiregular<formatter<remove_cvref_t<_Tp>, _CharT>> &&
+    requires(formatter<remove_cvref_t<_Tp>, _CharT> __f, formatter<remove_cvref_t<_Tp>, _CharT> __cf, _Tp __t,
+             basic_format_context<_CharT*, _CharT> __fc, basic_format_parse_context<_CharT> __pc) {
+  { __f.parse(__pc) } -> same_as<typename basic_format_parse_context<_CharT>::iterator>;
+  { __cf.format(__t, __fc) } -> same_as<_CharT*>;
+};
----------------
Let's add some linebreaks for readability after each requires-parameter:
```
template <class _Tp, class _CharT>
concept __formattable =
  semiregular<formatter<remove_cvref_t<_Tp>, _CharT>> &&
  requires(formatter<remove_cvref_t<_Tp>, _CharT> __f,
           formatter<remove_cvref_t<_Tp>, _CharT> __cf, // TODO: const
           _Tp __t,
           basic_format_context<_CharT*, _CharT> __fc,
           basic_format_parse_context<_CharT> __pc) {
    { __f.parse(__pc) } -> same_as<typename basic_format_parse_context<_CharT>::iterator>;
    { __cf.format(__t, __fc) } -> same_as<_CharT*>;
  };
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120921/new/

https://reviews.llvm.org/D120921



More information about the libcxx-commits mailing list