OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium 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 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <cctype> | 10 #include <cctype> |
11 | 11 |
| 12 #include "core/fxcrt/include/cfx_string_pool_template.h" |
12 #include "core/fxcrt/include/fx_basic.h" | 13 #include "core/fxcrt/include/fx_basic.h" |
13 #include "core/fxcrt/include/fx_ext.h" | 14 #include "core/fxcrt/include/fx_ext.h" |
14 #include "third_party/base/numerics/safe_math.h" | 15 #include "third_party/base/numerics/safe_math.h" |
15 | 16 |
16 template class CFX_StringDataTemplate<FX_WCHAR>; | 17 template class CFX_StringDataTemplate<FX_WCHAR>; |
17 template class CFX_StringCTemplate<FX_WCHAR>; | 18 template class CFX_StringCTemplate<FX_WCHAR>; |
| 19 template class CFX_StringPoolTemplate<CFX_WideString>; |
| 20 template struct std::hash<CFX_WideString>; |
18 | 21 |
19 namespace { | 22 namespace { |
20 | 23 |
21 #ifndef NDEBUG | 24 #ifndef NDEBUG |
22 bool IsValidCodePage(uint16_t codepage) { | 25 bool IsValidCodePage(uint16_t codepage) { |
23 switch (codepage) { | 26 switch (codepage) { |
24 case 0: | 27 case 0: |
25 case 932: | 28 case 932: |
26 case 936: | 29 case 936: |
27 case 949: | 30 case 949: |
(...skipping 975 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); | 1006 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, nullptr, 0); |
1004 CFX_WideString wstr; | 1007 CFX_WideString wstr; |
1005 if (dest_len) { | 1008 if (dest_len) { |
1006 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); | 1009 FX_WCHAR* dest_buf = wstr.GetBuffer(dest_len); |
1007 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, | 1010 FXSYS_MultiByteToWideChar(codepage, 0, bstr.c_str(), src_len, dest_buf, |
1008 dest_len); | 1011 dest_len); |
1009 wstr.ReleaseBuffer(dest_len); | 1012 wstr.ReleaseBuffer(dest_len); |
1010 } | 1013 } |
1011 return wstr; | 1014 return wstr; |
1012 } | 1015 } |
OLD | NEW |