OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/i18n/string_compare.h" | 5 #include "base/i18n/string_compare.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 | 9 |
10 namespace base { | 10 namespace base { |
11 namespace i18n { | 11 namespace i18n { |
12 | 12 |
13 // Compares the character data stored in two different string16 strings by | 13 // Compares the character data stored in two different string16 strings by |
14 // specified Collator instance. | 14 // specified Collator instance. |
15 UCollationResult CompareString16WithCollator(const icu::Collator& collator, | 15 UCollationResult CompareString16WithCollator(const icu::Collator& collator, |
16 const string16& lhs, | 16 const string16& lhs, |
17 const string16& rhs) { | 17 const string16& rhs) { |
18 UErrorCode error = U_ZERO_ERROR; | 18 UErrorCode error = U_ZERO_ERROR; |
19 UCollationResult result = collator.compare( | 19 UCollationResult result = |
20 static_cast<const UChar*>(lhs.c_str()), static_cast<int>(lhs.length()), | 20 collator.compare(reinterpret_cast<const char16_t*>(lhs.c_str()), |
21 static_cast<const UChar*>(rhs.c_str()), static_cast<int>(rhs.length()), | 21 static_cast<int>(lhs.length()), |
22 error); | 22 reinterpret_cast<const char16_t*>(rhs.c_str()), |
| 23 static_cast<int>(rhs.length()), error); |
23 DCHECK(U_SUCCESS(error)); | 24 DCHECK(U_SUCCESS(error)); |
24 return result; | 25 return result; |
25 } | 26 } |
26 | 27 |
27 } // namespace i18n | 28 } // namespace i18n |
28 } // namespace base | 29 } // namespace base |
OLD | NEW |