[all-commits] [llvm/llvm-project] 34206b: [libc++] Overhaul std::quoted; fix its relationshi...
Quuxplusone via All-commits
all-commits at lists.llvm.org
Mon Mar 7 10:29:20 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 34206b869d0d4533aa6a2f18071563fe40945869
https://github.com/llvm/llvm-project/commit/34206b869d0d4533aa6a2f18071563fe40945869
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2022-03-07 (Mon, 07 Mar 2022)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
M libcxx/include/__string
M libcxx/include/iomanip
A libcxx/test/std/input.output/iostream.format/quoted.manip/quoted_traits.compile.pass.cpp
Log Message:
-----------
[libc++] Overhaul std::quoted; fix its relationship to character traits.
Move `__quoted_output_proxy` into the one file that uses it.
A `const char*` has no associated traits class, so `std::quoted("literal")`
should be printable into any basic_ostream regardless of traits.
Use hidden-friend `operator<<` and `operator>>`, since we're permitted to.
(The exact signature is unspecified because the class itself is unspecified.)
We shouldn't support `std::quoted("literal")` in C++03 or C++11 mode.
(We do need `std::__quoted(s)` and `std::__quoted(cs)` in C++11 mode,
because they're used by `std::__fs::filesystem::path`.)
Differential Revision: https://reviews.llvm.org/D120135
More information about the All-commits
mailing list