Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20ff570d authored by Ryan Prichard's avatar Ryan Prichard
Browse files

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
parent 3b17f284
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;