Chromium Code Reviews| Index: core/include/fxcrt/fx_string.h |
| diff --git a/core/include/fxcrt/fx_string.h b/core/include/fxcrt/fx_string.h |
| index c46a97166b9b7aee6b811df8054bb6611e3222c3..023f7658c3f9c492d077400b28c7626600a27f3e 100644 |
| --- a/core/include/fxcrt/fx_string.h |
| +++ b/core/include/fxcrt/fx_string.h |
| @@ -12,15 +12,11 @@ |
| #include "fx_memory.h" |
| -class CFX_ByteStringC; |
| +class CFX_BinaryBuf; |
| class CFX_ByteString; |
| -class CFX_WideStringC; |
| class CFX_WideString; |
| struct CFX_CharMap; |
| -class CFX_BinaryBuf; |
| typedef int FX_STRSIZE; |
| -class CFX_ByteStringL; |
| -class CFX_WideStringL; |
| // An immutable string with caller-provided storage which must outlive the |
| // string itself. |
| @@ -208,12 +204,14 @@ public: |
| CFX_ByteString(char ch); |
| - CFX_ByteString(FX_LPCSTR ptr, FX_STRSIZE len = -1); |
| + CFX_ByteString(FX_LPCSTR ptr) |
|
Lei Zhang
2015/05/05 21:31:56
We should mark a whole bunch of these ctors explic
|
| + : 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); |
| - |
| CFX_ByteString(FX_BSTR bstrc1, FX_BSTR bstrc2); |
| ~CFX_ByteString(); |
| @@ -631,10 +629,10 @@ public: |
| CFX_WideString(const CFX_WideString& str); |
| - CFX_WideString(FX_LPCWSTR ptr, FX_STRSIZE len = -1) |
| - { |
| - InitStr(ptr, len); |
| - } |
| + CFX_WideString(FX_LPCWSTR ptr) |
| + : CFX_WideString(ptr, ptr ? FXSYS_wcslen(ptr) : 0) { } |
| + |
| + CFX_WideString(FX_LPCWSTR ptr, FX_STRSIZE len); |
| CFX_WideString(FX_WCHAR ch); |
| @@ -785,16 +783,16 @@ public: |
| CFX_ByteString UTF16LE_Encode() const; |
| void ConvertFrom(const CFX_ByteString& str, CFX_CharMap* pCharMap = NULL); |
| -protected: |
| - void InitStr(FX_LPCWSTR ptr, int len); |
| - CFX_StringDataW* m_pData; |
| +protected: |
| void CopyBeforeWrite(); |
| void AllocBeforeWrite(FX_STRSIZE nLen); |
| void ConcatInPlace(FX_STRSIZE nSrcLen, FX_LPCWSTR lpszSrcData); |
| void ConcatCopy(FX_STRSIZE nSrc1Len, FX_LPCWSTR lpszSrc1Data, FX_STRSIZE nSrc2Len, FX_LPCWSTR lpszSrc2Data); |
| void AssignCopy(FX_STRSIZE nSrcLen, FX_LPCWSTR lpszSrcData); |
| void AllocCopy(CFX_WideString& dest, FX_STRSIZE nCopyLen, FX_STRSIZE nCopyIndex) const; |
| + |
| + CFX_StringDataW* m_pData; |
| }; |
| inline CFX_WideStringC::CFX_WideStringC(const CFX_WideString& src) |
| { |