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 DCHECK(collator); | |
19 UErrorCode error = U_ZERO_ERROR; | 18 UErrorCode error = U_ZERO_ERROR; |
20 UCollationResult result = collator->compare( | 19 UCollationResult result = collator.compare( |
21 static_cast<const UChar*>(lhs.c_str()), static_cast<int>(lhs.length()), | 20 static_cast<const UChar*>(lhs.c_str()), static_cast<int>(lhs.length()), |
22 static_cast<const UChar*>(rhs.c_str()), static_cast<int>(rhs.length()), | 21 static_cast<const UChar*>(rhs.c_str()), static_cast<int>(rhs.length()), |
23 error); | 22 error); |
24 DCHECK(U_SUCCESS(error)); | 23 DCHECK(U_SUCCESS(error)); |
25 return result; | 24 return result; |
26 } | 25 } |
27 | 26 |
28 } // namespace i18n | 27 } // namespace i18n |
29 } // namespace base | 28 } // namespace base |
OLD | NEW |