win: Don’t define c16*() functions in base/strings/string16.{cc,h}
Chromium never provided these, and mini_chromium needs to be
interface-compatible with Chromium. These functions were accidentally
defined on Windows in 463f840d61d1.
Change-Id: I942b16733396067d4b2c5e799558ac14475eb939
Reviewed-on: https://chromium-review.googlesource.com/737557
Reviewed-by: Nico Weber <thakis@chromium.org>
diff --git a/base/strings/string16.cc b/base/strings/string16.cc
index 17f4ee3..70b705b 100644
--- a/base/strings/string16.cc
+++ b/base/strings/string16.cc
@@ -7,9 +7,10 @@
#include <string.h>
#if defined(WCHAR_T_IS_UTF32)
+
#include <ostream>
+
#include "base/strings/utf_string_conversions.h"
-#endif // WCHAR_T_IS_UTF32
namespace base {
@@ -59,14 +60,12 @@
return s_orig;
}
-#if defined(WCHAR_T_IS_UTF32)
std::ostream& operator<<(std::ostream& out, const string16& str) {
return out << UTF16ToUTF8(str);
}
-#endif // WCHAR_T_IS_UTF32
} // namespace base
-#if defined(WCHAR_T_IS_UTF32)
template class std::basic_string<base::char16, base::string16_char_traits>;
+
#endif // WCHAR_T_IS_UTF32
diff --git a/base/strings/string16.h b/base/strings/string16.h
index 2eccd2a..04605e4 100644
--- a/base/strings/string16.h
+++ b/base/strings/string16.h
@@ -20,13 +20,6 @@
typedef uint16_t char16;
#endif // WCHAR_T_IS_UTF32
-int c16memcmp(const char16* s1, const char16* s2, size_t n);
-size_t c16len(const char16* s);
-const char16* c16memchr(const char16* s, char16 c, size_t n);
-char16* c16memmove(char16* s1, const char16* s2, size_t n);
-char16* c16memcpy(char16* s1, const char16* s2, size_t n);
-char16* c16memset(char16* s, char16 c, size_t n);
-
#if defined(WCHAR_T_IS_UTF16)
typedef std::wstring string16;
@@ -34,6 +27,13 @@
#elif defined(WCHAR_T_IS_UTF32)
+int c16memcmp(const char16* s1, const char16* s2, size_t n);
+size_t c16len(const char16* s);
+const char16* c16memchr(const char16* s, char16 c, size_t n);
+char16* c16memmove(char16* s1, const char16* s2, size_t n);
+char16* c16memcpy(char16* s1, const char16* s2, size_t n);
+char16* c16memset(char16* s, char16 c, size_t n);
+
struct string16_char_traits {
typedef char16 char_type;
typedef int int_type;