libstdc++: P1423R3 char8_t remediation (2/4)
authorTom Honermann <tom@honermann.net>
Fri, 29 Nov 2019 17:43:42 +0000 (17:43 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 29 Nov 2019 17:43:42 +0000 (17:43 +0000)
commit2b4e2c93d908afb575b7f9bcd0c8c9ad63e717d0
tree696633db265f9ecfc6fb989121ad0b8f725ffd9f
parenta1e7d33bb9458f76a2d49209a3825940ca7fbe0b
libstdc++: P1423R3 char8_t remediation (2/4)

Update feature test macro, add deleted operators, update u8path

This patch increments the __cpp_lib_char8_t feature test macro, adds deleted
operator<< overloads for basic_ostream, and modifies u8path to accept
sequences of char8_t for both the C++17 implementation of std::filesystem, and
the filesystem TS implementation.

The implementation mechanism used for u8path differs between the C++17 and
filesystem TS implementations.  The changes to the former take advantage of
C++17 'if constexpr'.  The changes to the latter retain C++11 compatibility
and rely on tag dispatching.

2019-11-29  Tom Honermann  <tom@honermann.net>

Update feature test macro, add deleted operators, update u8path
* include/bits/c++config: Bumped the value of the __cpp_lib_char8_t
feature test macro.
* include/bits/fs_path.h (u8path): Modified u8path to accept sequences
of char8_t.
* include/experimental/bits/fs_path.h (u8path): Modified u8path to
accept sequences of char8_t.
* include/std/ostream: Added deleted overloads of wchar_t, char8_t,
char16_t, and char32_t for ordinary and wide formatted character and
string inserters.

From-SVN: r278856
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/bits/fs_path.h
libstdc++-v3/include/experimental/bits/fs_path.h
libstdc++-v3/include/std/ostream