| 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 #ifndef CORE_FXCRT_INCLUDE_FX_STRING_H_ | 7 #ifndef CORE_FXCRT_INCLUDE_FX_STRING_H_ |
| 8 #define CORE_FXCRT_INCLUDE_FX_STRING_H_ | 8 #define CORE_FXCRT_INCLUDE_FX_STRING_H_ |
| 9 | 9 |
| 10 #include <stdint.h> // For intptr_t. | 10 #include <stdint.h> // For intptr_t. |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 operator const uint8_t*() const { | 187 operator const uint8_t*() const { |
| 188 return m_pData ? reinterpret_cast<const uint8_t*>(m_pData->m_String) | 188 return m_pData ? reinterpret_cast<const uint8_t*>(m_pData->m_String) |
| 189 : nullptr; | 189 : nullptr; |
| 190 } | 190 } |
| 191 | 191 |
| 192 FX_STRSIZE GetLength() const { return m_pData ? m_pData->m_nDataLength : 0; } | 192 FX_STRSIZE GetLength() const { return m_pData ? m_pData->m_nDataLength : 0; } |
| 193 | 193 |
| 194 bool IsEmpty() const { return !GetLength(); } | 194 bool IsEmpty() const { return !GetLength(); } |
| 195 | 195 |
| 196 int Compare(const CFX_ByteStringC& str) const; | 196 int Compare(const CFX_ByteStringC& str) const; |
| 197 | |
| 198 bool Equal(const char* ptr) const; | |
| 199 bool Equal(const CFX_ByteStringC& str) const; | |
| 200 bool Equal(const CFX_ByteString& other) const; | |
| 201 | |
| 202 bool EqualNoCase(const CFX_ByteStringC& str) const; | 197 bool EqualNoCase(const CFX_ByteStringC& str) const; |
| 203 | 198 |
| 204 bool operator==(const char* ptr) const { return Equal(ptr); } | 199 bool operator==(const char* ptr) const; |
| 205 bool operator==(const CFX_ByteStringC& str) const { return Equal(str); } | 200 bool operator==(const CFX_ByteStringC& str) const; |
| 206 bool operator==(const CFX_ByteString& other) const { return Equal(other); } | 201 bool operator==(const CFX_ByteString& other) const; |
| 207 | 202 |
| 208 bool operator!=(const char* ptr) const { return !(*this == ptr); } | 203 bool operator!=(const char* ptr) const { return !(*this == ptr); } |
| 209 bool operator!=(const CFX_ByteStringC& str) const { return !(*this == str); } | 204 bool operator!=(const CFX_ByteStringC& str) const { return !(*this == str); } |
| 210 bool operator!=(const CFX_ByteString& other) const { | 205 bool operator!=(const CFX_ByteString& other) const { |
| 211 return !(*this == other); | 206 return !(*this == other); |
| 212 } | 207 } |
| 213 | 208 |
| 214 bool operator<(const CFX_ByteString& str) const { | 209 bool operator<(const CFX_ByteString& str) const { |
| 215 int result = FXSYS_memcmp(c_str(), str.c_str(), | 210 int result = FXSYS_memcmp(c_str(), str.c_str(), |
| 216 std::min(GetLength(), str.GetLength())); | 211 std::min(GetLength(), str.GetLength())); |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 581 | 576 |
| 582 // Explicit conversion to C-style wide string. | 577 // Explicit conversion to C-style wide string. |
| 583 const FX_WCHAR* c_str() const { return m_pData ? m_pData->m_String : L""; } | 578 const FX_WCHAR* c_str() const { return m_pData ? m_pData->m_String : L""; } |
| 584 | 579 |
| 585 // Implicit conversion to C-style wide string -- deprecated. | 580 // Implicit conversion to C-style wide string -- deprecated. |
| 586 operator const FX_WCHAR*() const { return m_pData ? m_pData->m_String : L""; } | 581 operator const FX_WCHAR*() const { return m_pData ? m_pData->m_String : L""; } |
| 587 | 582 |
| 588 void Empty(); | 583 void Empty(); |
| 589 | 584 |
| 590 bool IsEmpty() const { return !GetLength(); } | 585 bool IsEmpty() const { return !GetLength(); } |
| 591 | |
| 592 FX_STRSIZE GetLength() const { return m_pData ? m_pData->m_nDataLength : 0; } | 586 FX_STRSIZE GetLength() const { return m_pData ? m_pData->m_nDataLength : 0; } |
| 593 | 587 |
| 594 const CFX_WideString& operator=(const FX_WCHAR* str); | 588 const CFX_WideString& operator=(const FX_WCHAR* str); |
| 595 | |
| 596 const CFX_WideString& operator=(const CFX_WideString& stringSrc); | 589 const CFX_WideString& operator=(const CFX_WideString& stringSrc); |
| 597 | |
| 598 const CFX_WideString& operator=(const CFX_WideStringC& stringSrc); | 590 const CFX_WideString& operator=(const CFX_WideStringC& stringSrc); |
| 599 | 591 |
| 600 const CFX_WideString& operator+=(const FX_WCHAR* str); | 592 const CFX_WideString& operator+=(const FX_WCHAR* str); |
| 601 | |
| 602 const CFX_WideString& operator+=(FX_WCHAR ch); | 593 const CFX_WideString& operator+=(FX_WCHAR ch); |
| 603 | |
| 604 const CFX_WideString& operator+=(const CFX_WideString& str); | 594 const CFX_WideString& operator+=(const CFX_WideString& str); |
| 605 | |
| 606 const CFX_WideString& operator+=(const CFX_WideStringC& str); | 595 const CFX_WideString& operator+=(const CFX_WideStringC& str); |
| 607 | 596 |
| 608 bool operator==(const wchar_t* ptr) const { return Equal(ptr); } | 597 bool operator==(const wchar_t* ptr) const; |
| 609 bool operator==(const CFX_WideStringC& str) const { return Equal(str); } | 598 bool operator==(const CFX_WideStringC& str) const; |
| 610 bool operator==(const CFX_WideString& other) const { return Equal(other); } | 599 bool operator==(const CFX_WideString& other) const; |
| 611 | 600 |
| 612 bool operator!=(const wchar_t* ptr) const { return !(*this == ptr); } | 601 bool operator!=(const wchar_t* ptr) const { return !(*this == ptr); } |
| 613 bool operator!=(const CFX_WideStringC& str) const { return !(*this == str); } | 602 bool operator!=(const CFX_WideStringC& str) const { return !(*this == str); } |
| 614 bool operator!=(const CFX_WideString& other) const { | 603 bool operator!=(const CFX_WideString& other) const { |
| 615 return !(*this == other); | 604 return !(*this == other); |
| 616 } | 605 } |
| 617 | 606 |
| 618 bool operator<(const CFX_WideString& str) const { | 607 bool operator<(const CFX_WideString& str) const { |
| 619 int result = | 608 int result = |
| 620 wmemcmp(c_str(), str.c_str(), std::min(GetLength(), str.GetLength())); | 609 wmemcmp(c_str(), str.c_str(), std::min(GetLength(), str.GetLength())); |
| 621 return result < 0 || (result == 0 && GetLength() < str.GetLength()); | 610 return result < 0 || (result == 0 && GetLength() < str.GetLength()); |
| 622 } | 611 } |
| 623 | 612 |
| 624 FX_WCHAR GetAt(FX_STRSIZE nIndex) const { | 613 FX_WCHAR GetAt(FX_STRSIZE nIndex) const { |
| 625 return m_pData ? m_pData->m_String[nIndex] : 0; | 614 return m_pData ? m_pData->m_String[nIndex] : 0; |
| 626 } | 615 } |
| 627 | 616 |
| 628 FX_WCHAR operator[](FX_STRSIZE nIndex) const { | 617 FX_WCHAR operator[](FX_STRSIZE nIndex) const { |
| 629 return m_pData ? m_pData->m_String[nIndex] : 0; | 618 return m_pData ? m_pData->m_String[nIndex] : 0; |
| 630 } | 619 } |
| 631 | 620 |
| 632 void SetAt(FX_STRSIZE nIndex, FX_WCHAR ch); | 621 void SetAt(FX_STRSIZE nIndex, FX_WCHAR ch); |
| 633 | 622 |
| 634 int Compare(const FX_WCHAR* str) const; | 623 int Compare(const FX_WCHAR* str) const; |
| 635 | |
| 636 int Compare(const CFX_WideString& str) const; | 624 int Compare(const CFX_WideString& str) const; |
| 637 | |
| 638 int CompareNoCase(const FX_WCHAR* str) const; | 625 int CompareNoCase(const FX_WCHAR* str) const; |
| 639 | 626 |
| 640 bool Equal(const wchar_t* ptr) const; | |
| 641 bool Equal(const CFX_WideStringC& str) const; | |
| 642 bool Equal(const CFX_WideString& other) const; | |
| 643 | 627 |
| 644 CFX_WideString Mid(FX_STRSIZE first) const; | 628 CFX_WideString Mid(FX_STRSIZE first) const; |
| 645 | |
| 646 CFX_WideString Mid(FX_STRSIZE first, FX_STRSIZE count) const; | 629 CFX_WideString Mid(FX_STRSIZE first, FX_STRSIZE count) const; |
| 647 | |
| 648 CFX_WideString Left(FX_STRSIZE count) const; | 630 CFX_WideString Left(FX_STRSIZE count) const; |
| 649 | |
| 650 CFX_WideString Right(FX_STRSIZE count) const; | 631 CFX_WideString Right(FX_STRSIZE count) const; |
| 651 | 632 |
| 652 FX_STRSIZE Insert(FX_STRSIZE index, FX_WCHAR ch); | 633 FX_STRSIZE Insert(FX_STRSIZE index, FX_WCHAR ch); |
| 653 | |
| 654 FX_STRSIZE Delete(FX_STRSIZE index, FX_STRSIZE count = 1); | 634 FX_STRSIZE Delete(FX_STRSIZE index, FX_STRSIZE count = 1); |
| 655 | 635 |
| 656 void Format(const FX_WCHAR* lpszFormat, ...); | 636 void Format(const FX_WCHAR* lpszFormat, ...); |
| 657 | |
| 658 void FormatV(const FX_WCHAR* lpszFormat, va_list argList); | 637 void FormatV(const FX_WCHAR* lpszFormat, va_list argList); |
| 659 | 638 |
| 660 void MakeLower(); | 639 void MakeLower(); |
| 661 | |
| 662 void MakeUpper(); | 640 void MakeUpper(); |
| 663 | 641 |
| 664 void TrimRight(); | 642 void TrimRight(); |
| 665 | |
| 666 void TrimRight(FX_WCHAR chTarget); | 643 void TrimRight(FX_WCHAR chTarget); |
| 667 | |
| 668 void TrimRight(const FX_WCHAR* lpszTargets); | 644 void TrimRight(const FX_WCHAR* lpszTargets); |
| 669 | 645 |
| 670 void TrimLeft(); | 646 void TrimLeft(); |
| 671 | |
| 672 void TrimLeft(FX_WCHAR chTarget); | 647 void TrimLeft(FX_WCHAR chTarget); |
| 673 | |
| 674 void TrimLeft(const FX_WCHAR* lpszTargets); | 648 void TrimLeft(const FX_WCHAR* lpszTargets); |
| 675 | 649 |
| 676 void Reserve(FX_STRSIZE len); | 650 void Reserve(FX_STRSIZE len); |
| 677 | |
| 678 FX_WCHAR* GetBuffer(FX_STRSIZE len); | 651 FX_WCHAR* GetBuffer(FX_STRSIZE len); |
| 679 | |
| 680 void ReleaseBuffer(FX_STRSIZE len = -1); | 652 void ReleaseBuffer(FX_STRSIZE len = -1); |
| 681 | 653 |
| 682 int GetInteger() const; | 654 int GetInteger() const; |
| 683 | 655 |
| 684 FX_FLOAT GetFloat() const; | 656 FX_FLOAT GetFloat() const; |
| 685 | 657 |
| 686 FX_STRSIZE Find(const FX_WCHAR* lpszSub, FX_STRSIZE start = 0) const; | 658 FX_STRSIZE Find(const FX_WCHAR* lpszSub, FX_STRSIZE start = 0) const; |
| 687 | 659 |
| 688 FX_STRSIZE Find(FX_WCHAR ch, FX_STRSIZE start = 0) const; | 660 FX_STRSIZE Find(FX_WCHAR ch, FX_STRSIZE start = 0) const; |
| 689 | 661 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 } | 784 } |
| 813 | 785 |
| 814 FX_FLOAT FX_atof(const CFX_ByteStringC& str); | 786 FX_FLOAT FX_atof(const CFX_ByteStringC& str); |
| 815 inline FX_FLOAT FX_atof(const CFX_WideStringC& wsStr) { | 787 inline FX_FLOAT FX_atof(const CFX_WideStringC& wsStr) { |
| 816 return FX_atof(FX_UTF8Encode(wsStr.GetPtr(), wsStr.GetLength())); | 788 return FX_atof(FX_UTF8Encode(wsStr.GetPtr(), wsStr.GetLength())); |
| 817 } | 789 } |
| 818 void FX_atonum(const CFX_ByteStringC& str, FX_BOOL& bInteger, void* pData); | 790 void FX_atonum(const CFX_ByteStringC& str, FX_BOOL& bInteger, void* pData); |
| 819 FX_STRSIZE FX_ftoa(FX_FLOAT f, FX_CHAR* buf); | 791 FX_STRSIZE FX_ftoa(FX_FLOAT f, FX_CHAR* buf); |
| 820 | 792 |
| 821 #endif // CORE_FXCRT_INCLUDE_FX_STRING_H_ | 793 #endif // CORE_FXCRT_INCLUDE_FX_STRING_H_ |
| OLD | NEW |