summaryrefslogtreecommitdiff
path: root/core/fxcrt/include
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-06-14 17:21:14 -0700
committerCommit bot <commit-bot@chromium.org>2016-06-14 17:21:14 -0700
commitf4bb580add3824196dc49cd7de2f7d051019ede8 (patch)
tree15c1db6fb7000330d48c105c66acf1d468ba56bd /core/fxcrt/include
parentee2abec93f22bd10522181dc0362f24d389fc66b (diff)
downloadpdfium-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.h18
-rw-r--r--core/fxcrt/include/fx_ucd.h31
-rw-r--r--core/fxcrt/include/fx_xml.h8
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;
};