[PATCH 2/4]: C++ P1423R3 char8_t remediation: Update feature test macro, add deleted operators, update u8path

Tom Honermann tom@honermann.net
Sun Sep 15 19:39:00 GMT 2019


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.

libstdc++-v3/ChangeLog:

2019-09-15  Tom Honermann  <tom@honermann.net>

      * libstdc++-v3/include/bits/c++config: Bumped the value of the
        __cpp_lib_char8_t feature test macro.
      * libstdc++-v3/include/bits/fs_path.h (u8path): Modified u8path to
        accept sequences of char8_t.
      * libstdc++-v3/include/experimental/bits/fs_path.h (u8path):
        Modified u8path to accept sequences of char8_t.
      * libstdc++-v3/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.

Tom.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p1423r3-2.patch
Type: text/x-patch
Size: 12151 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190915/220e7b46/attachment.bin>


More information about the Libstdc++ mailing list