1*635a8641SAndroid Build Coastguard Worker // Copyright (c) 2017 The Chromium Authors. All rights reserved. 2*635a8641SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*635a8641SAndroid Build Coastguard Worker // found in the LICENSE file. 4*635a8641SAndroid Build Coastguard Worker 5*635a8641SAndroid Build Coastguard Worker #ifndef BASE_I18N_UNICODESTRING_H_ 6*635a8641SAndroid Build Coastguard Worker #define BASE_I18N_UNICODESTRING_H_ 7*635a8641SAndroid Build Coastguard Worker 8*635a8641SAndroid Build Coastguard Worker #include "base/strings/string16.h" 9*635a8641SAndroid Build Coastguard Worker #include "third_party/icu/source/common/unicode/unistr.h" 10*635a8641SAndroid Build Coastguard Worker #include "third_party/icu/source/common/unicode/uvernum.h" 11*635a8641SAndroid Build Coastguard Worker 12*635a8641SAndroid Build Coastguard Worker #if U_ICU_VERSION_MAJOR_NUM >= 59 13*635a8641SAndroid Build Coastguard Worker #include "third_party/icu/source/common/unicode/char16ptr.h" 14*635a8641SAndroid Build Coastguard Worker #endif 15*635a8641SAndroid Build Coastguard Worker 16*635a8641SAndroid Build Coastguard Worker namespace base { 17*635a8641SAndroid Build Coastguard Worker namespace i18n { 18*635a8641SAndroid Build Coastguard Worker UnicodeStringToString16(const icu::UnicodeString & unistr)19*635a8641SAndroid Build Coastguard Workerinline string16 UnicodeStringToString16(const icu::UnicodeString& unistr) { 20*635a8641SAndroid Build Coastguard Worker #if U_ICU_VERSION_MAJOR_NUM >= 59 21*635a8641SAndroid Build Coastguard Worker return base::string16(icu::toUCharPtr(unistr.getBuffer()), 22*635a8641SAndroid Build Coastguard Worker static_cast<size_t>(unistr.length())); 23*635a8641SAndroid Build Coastguard Worker #else 24*635a8641SAndroid Build Coastguard Worker return base::string16(unistr.getBuffer(), 25*635a8641SAndroid Build Coastguard Worker static_cast<size_t>(unistr.length())); 26*635a8641SAndroid Build Coastguard Worker #endif 27*635a8641SAndroid Build Coastguard Worker } 28*635a8641SAndroid Build Coastguard Worker 29*635a8641SAndroid Build Coastguard Worker } // namespace i18n 30*635a8641SAndroid Build Coastguard Worker } // namespace base 31*635a8641SAndroid Build Coastguard Worker 32*635a8641SAndroid Build Coastguard Worker #endif // BASE_UNICODESTRING_H_ 33