diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-06-05 15:33:03 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-06-05 15:33:03 -0700 |
commit | ca7db372a6379580c0e81a7f3b123eb91eae95b8 (patch) | |
tree | 90651450a2e4cae8a8cc97af29a54eded6cf5bb1 | |
parent | 4c0e2751d313dcf0dcaa73b3833db16a73150477 (diff) | |
download | pdfium-ca7db372a6379580c0e81a7f3b123eb91eae95b8.tar.xz |
Merge to XFA: Add move constructor for FX string types.
Original Review URL: https://codereview.chromium.org/1162203007
R=thestig@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1154023005
-rw-r--r-- | core/include/fxcrt/fx_string.h | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h index efbe80accb..9903dad942 100644 --- a/core/include/fxcrt/fx_string.h +++ b/core/include/fxcrt/fx_string.h @@ -178,20 +178,22 @@ class CFX_ByteString public: typedef FX_CHAR value_type; - CFX_ByteString() - { - m_pData = NULL; - } + CFX_ByteString() : m_pData(nullptr) { } + // Copy constructor. CFX_ByteString(const CFX_ByteString& str); - CFX_ByteString(char ch); + // Move constructor. + inline CFX_ByteString(CFX_ByteString&& other) { + this->m_pData = other.m_pData; + other.m_pData = nullptr; + } + CFX_ByteString(char ch); CFX_ByteString(FX_LPCSTR ptr) : CFX_ByteString(ptr, ptr ? FXSYS_strlen(ptr) : 0) { } CFX_ByteString(FX_LPCSTR ptr, FX_STRSIZE len); - CFX_ByteString(FX_LPCBYTE ptr, FX_STRSIZE len); CFX_ByteString(FX_BSTR bstrc); @@ -623,13 +625,17 @@ class CFX_WideString public: typedef FX_WCHAR value_type; - CFX_WideString() - { - m_pData = NULL; - } + CFX_WideString() : m_pData(nullptr) { } + // Copy constructor. CFX_WideString(const CFX_WideString& str); + // Move constructor. + inline CFX_WideString(CFX_WideString&& other) { + this->m_pData = other.m_pData; + other.m_pData = nullptr; + } + CFX_WideString(FX_LPCWSTR ptr) : CFX_WideString(ptr, ptr ? FXSYS_wcslen(ptr) : 0) { } |