diff options
author | weili <weili@chromium.org> | 2016-06-14 17:21:14 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-06-14 17:21:14 -0700 |
commit | f4bb580add3824196dc49cd7de2f7d051019ede8 (patch) | |
tree | 15c1db6fb7000330d48c105c66acf1d468ba56bd /core/fxcrt/include | |
parent | ee2abec93f22bd10522181dc0362f24d389fc66b (diff) | |
download | pdfium-f4bb580add3824196dc49cd7de2f7d051019ede8.tar.xz |
Make code compile with clang_use_chrome_plugin (part II)
This change contains files in core directory which were not covered
in part I. This is part of the efforts to make PDFium code compilable
by Clang chromium style plugins.
The changes are mainly the following:
-- move inline constructor/destructor of complex class/struct out-of-line;
-- add constructor/destructor of complex class/struct if not
explicitly defined;
-- add explicit out-of-line copy constructor when needed;
-- move inline virtual functions out-of-line;
-- Properly mark virtual functions with 'override';
-- some minor cleanups;
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2060913003
Diffstat (limited to 'core/fxcrt/include')
-rw-r--r-- | core/fxcrt/include/fx_string.h | 18 | ||||
-rw-r--r-- | core/fxcrt/include/fx_ucd.h | 31 | ||||
-rw-r--r-- | core/fxcrt/include/fx_xml.h | 8 |
3 files changed, 32 insertions, 25 deletions
diff --git a/core/fxcrt/include/fx_string.h b/core/fxcrt/include/fx_string.h index 142f9372d0..b0a89fd06c 100644 --- a/core/fxcrt/include/fx_string.h +++ b/core/fxcrt/include/fx_string.h @@ -34,14 +34,13 @@ class CFX_ByteString { public: using CharType = FX_CHAR; - CFX_ByteString() {} - CFX_ByteString(const CFX_ByteString& other) : m_pData(other.m_pData) {} - CFX_ByteString(CFX_ByteString&& other) { m_pData.Swap(other.m_pData); } + CFX_ByteString(); + CFX_ByteString(const CFX_ByteString& other); + CFX_ByteString(CFX_ByteString&& other); // Deliberately implicit to avoid calling on every string literal. CFX_ByteString(char ch); - CFX_ByteString(const FX_CHAR* ptr) - : CFX_ByteString(ptr, ptr ? FXSYS_strlen(ptr) : 0) {} + CFX_ByteString(const FX_CHAR* ptr); CFX_ByteString(const FX_CHAR* ptr, FX_STRSIZE len); CFX_ByteString(const uint8_t* ptr, FX_STRSIZE len); @@ -238,14 +237,13 @@ class CFX_WideString { public: using CharType = FX_WCHAR; - CFX_WideString() {} - CFX_WideString(const CFX_WideString& other) : m_pData(other.m_pData) {} - CFX_WideString(CFX_WideString&& other) { m_pData.Swap(other.m_pData); } + CFX_WideString(); + CFX_WideString(const CFX_WideString& other); + CFX_WideString(CFX_WideString&& other); // Deliberately implicit to avoid calling on every string literal. CFX_WideString(FX_WCHAR ch); - CFX_WideString(const FX_WCHAR* ptr) - : CFX_WideString(ptr, ptr ? FXSYS_wcslen(ptr) : 0) {} + CFX_WideString(const FX_WCHAR* ptr); CFX_WideString(const FX_WCHAR* ptr, FX_STRSIZE len); diff --git a/core/fxcrt/include/fx_ucd.h b/core/fxcrt/include/fx_ucd.h index c2c4688628..eeecd39cbf 100644 --- a/core/fxcrt/include/fx_ucd.h +++ b/core/fxcrt/include/fx_ucd.h @@ -152,8 +152,7 @@ typedef CFX_ArrayTemplate<CFX_Char> CFX_CharArray; class CFX_TxtChar : public CFX_Char { public: CFX_TxtChar() - : CFX_Char(), - m_dwStatus(0), + : m_dwStatus(0), m_iBidiClass(0), m_iBidiLevel(0), m_iBidiPos(0), @@ -169,17 +168,9 @@ class CFX_TxtChar : public CFX_Char { typedef CFX_ArrayTemplate<CFX_TxtChar> CFX_TxtCharArray; class CFX_RTFChar : public CFX_Char { public: - CFX_RTFChar() - : CFX_Char(), - m_dwStatus(0), - m_iFontSize(0), - m_iFontHeight(0), - m_iBidiClass(0), - m_iBidiLevel(0), - m_iBidiPos(0), - m_dwLayoutStyles(0), - m_dwIdentity(0), - m_pUserData(nullptr) {} + CFX_RTFChar(); + CFX_RTFChar(const CFX_RTFChar& other); + uint32_t m_dwStatus; int32_t m_iFontSize; int32_t m_iFontHeight; @@ -191,6 +182,20 @@ class CFX_RTFChar : public CFX_Char { uint32_t m_dwIdentity; IFX_Retainable* m_pUserData; }; + +inline CFX_RTFChar::CFX_RTFChar() + : m_dwStatus(0), + m_iFontSize(0), + m_iFontHeight(0), + m_iBidiClass(0), + m_iBidiLevel(0), + m_iBidiPos(0), + m_dwLayoutStyles(0), + m_dwIdentity(0), + m_pUserData(nullptr) {} + +inline CFX_RTFChar::CFX_RTFChar(const CFX_RTFChar& other) = default; + typedef CFX_ArrayTemplate<CFX_RTFChar> CFX_RTFCharArray; #endif // PDF_ENABLE_XFA diff --git a/core/fxcrt/include/fx_xml.h b/core/fxcrt/include/fx_xml.h index 0e8c82b103..4db4998c32 100644 --- a/core/fxcrt/include/fx_xml.h +++ b/core/fxcrt/include/fx_xml.h @@ -23,13 +23,17 @@ class CXML_AttrItem { class CXML_AttrMap { public: + CXML_AttrMap(); + ~CXML_AttrMap(); + const CFX_WideString* Lookup(const CFX_ByteString& space, const CFX_ByteString& name) const; + int GetSize() const; + CXML_AttrItem& GetAt(int index) const; + void SetAt(const CFX_ByteString& space, const CFX_ByteString& name, const CFX_WideString& value); - int GetSize() const; - CXML_AttrItem& GetAt(int index) const; std::unique_ptr<std::vector<CXML_AttrItem>> m_pMap; }; |