diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-04-22 12:16:31 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-04-22 12:16:31 -0700 |
commit | fbfcbc5e82d89585a63a77c63e782fb6768c8dc8 (patch) | |
tree | 401697a19c9ab2489b678deeeff91909715d1dd6 /core/include | |
parent | 1ddf056da74de0a34631b8a719f4f02b4ec82144 (diff) | |
download | pdfium-fbfcbc5e82d89585a63a77c63e782fb6768c8dc8.tar.xz |
Add missing operators for CFX_WideStringC.
Part 2 of 4.
R=thestig@chromium.org
TBR=brucedawson@chromium.org
BUG=pdfium:142
Review URL: https://codereview.chromium.org/1099193002
Diffstat (limited to 'core/include')
-rw-r--r-- | core/include/fxcrt/fx_string.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h index c1a6ec699e..1efb814b08 100644 --- a/core/include/fxcrt/fx_string.h +++ b/core/include/fxcrt/fx_string.h @@ -441,7 +441,7 @@ inline CFX_ByteString operator + (FX_BSTR str1, const CFX_ByteString& str2) { return CFX_ByteString(str1, str2); } -class CFX_WideStringC +class CFX_WideStringC { public: typedef FX_WCHAR value_type; @@ -563,13 +563,23 @@ public: } return CFX_WideStringC(m_Ptr + m_Length - count, count); } -protected: - FX_LPCWSTR m_Ptr; + const FX_WCHAR& operator[] (size_t index) const + { + return m_Ptr[index]; + } + + bool operator< (const CFX_WideStringC& that) const + { + int result = wmemcmp(m_Ptr, that.m_Ptr, std::min(m_Length, that.m_Length)); + return result < 0 || (result == 0 && m_Length < that.m_Length); + } +protected: + FX_LPCWSTR m_Ptr; FX_STRSIZE m_Length; -private: +private: void* operator new (size_t) throw() { return NULL; |