[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