diff options
| author | 2024-02-12 19:56:10 -0800 | |
|---|---|---|
| committer | 2024-02-12 20:02:46 -0800 | |
| commit | 20ff570db1c9a7cc8fce50e17bbfa6af668f86d5 (patch) | |
| tree | bb87acd46badb3579373652a36e4047a7528610b | |
| parent | 3b17f284fdc343f28c0735ceb547ba82fb424de9 (diff) | |
vr: avoid missing std::char_traits<const T>
In newer versions of libc++, std::char_traits<T> is only defined for
character types (and not const/volatile-qualified character types). See
https://discourse.llvm.org/t/deprecating-std-string-t-for-non-character-t/66779.
Remove the cv qualifiers from CharT first. Keep qualifiers on
value_type and typedefs derived from it.
This library appears to be unused (see b/253514421#comment11), but it
still builds with a "checkbuild", so it blocks the libc++ update
(b/175635923).
Bug: 175635923
Test: make checkbuild
Test: m MODULES-IN-frameworks-native-libs-vr
Test: /data/nativetest64/pdx_tests/pdx_tests
Change-Id: I2bfa04ccd073f8701597be8618bb8b48eb695afe
| -rw-r--r-- | libs/vr/libpdx/private/pdx/rpc/string_wrapper.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/vr/libpdx/private/pdx/rpc/string_wrapper.h b/libs/vr/libpdx/private/pdx/rpc/string_wrapper.h index 2d0a4ea6ec..371ed89fc9 100644 --- a/libs/vr/libpdx/private/pdx/rpc/string_wrapper.h +++ b/libs/vr/libpdx/private/pdx/rpc/string_wrapper.h @@ -17,12 +17,12 @@ namespace rpc { // C strings more efficient by avoiding unnecessary copies when remote method // signatures specify std::basic_string arguments or return values. template <typename CharT = std::string::value_type, - typename Traits = std::char_traits<CharT>> + typename Traits = std::char_traits<std::remove_cv_t<CharT>>> class StringWrapper { public: // Define types in the style of STL strings to support STL operators. typedef Traits traits_type; - typedef typename Traits::char_type value_type; + typedef CharT value_type; typedef std::size_t size_type; typedef value_type& reference; typedef const value_type& const_reference; |