summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpvt_sectioninfo.cpp
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-07-11 14:43:40 -0700
committerCommit bot <commit-bot@chromium.org>2016-07-11 14:43:41 -0700
commit5a6c1398d0e559fb6a048cb0dca46ba9f9309a77 (patch)
tree40193eaf374d0f9bf2ec2f257871279b0f36efb8 /core/fpdfdoc/cpvt_sectioninfo.cpp
parentac14258c429141653f73ca5c1b64ad259ac15804 (diff)
downloadpdfium-5a6c1398d0e559fb6a048cb0dca46ba9f9309a77.tar.xz
Use smart pointers for class owned member variables
Replace raw member variables to smart pointer type to better maintain the ownership and to ease the management. BUG=pdfium:518 Review-Url: https://codereview.chromium.org/2136683002
Diffstat (limited to 'core/fpdfdoc/cpvt_sectioninfo.cpp')
-rw-r--r--core/fpdfdoc/cpvt_sectioninfo.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/core/fpdfdoc/cpvt_sectioninfo.cpp b/core/fpdfdoc/cpvt_sectioninfo.cpp
new file mode 100644
index 0000000000..eb5c1bb809
--- /dev/null
+++ b/core/fpdfdoc/cpvt_sectioninfo.cpp
@@ -0,0 +1,31 @@
+// Copyright 2016 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "core/fpdfdoc/cpvt_sectioninfo.h"
+
+CPVT_SectionInfo::CPVT_SectionInfo() : rcSection(), nTotalLine(0) {}
+
+CPVT_SectionInfo::~CPVT_SectionInfo() {}
+
+CPVT_SectionInfo::CPVT_SectionInfo(const CPVT_SectionInfo& other) {
+ operator=(other);
+}
+
+void CPVT_SectionInfo::operator=(const CPVT_SectionInfo& other) {
+ if (this == &other)
+ return;
+
+ rcSection = other.rcSection;
+ nTotalLine = other.nTotalLine;
+ if (other.pSecProps)
+ pSecProps.reset(new CPVT_SecProps(*other.pSecProps));
+ else
+ pSecProps.reset();
+ if (other.pWordProps)
+ pWordProps.reset(new CPVT_WordProps(*other.pWordProps));
+ else
+ pWordProps.reset();
+}