From b1eb1a958438025efbf90f7a7f45dbe33c746d91 Mon Sep 17 00:00:00 2001 From: m-holger Date: Mon, 14 Nov 2022 22:06:04 +0000 Subject: Refactor QPDFObjectHandle::copyObject1 --- libqpdf/SparseOHArray.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libqpdf/SparseOHArray.cc') diff --git a/libqpdf/SparseOHArray.cc b/libqpdf/SparseOHArray.cc index 6ff02f6c..567f9d0b 100644 --- a/libqpdf/SparseOHArray.cc +++ b/libqpdf/SparseOHArray.cc @@ -110,6 +110,19 @@ SparseOHArray::insert(size_t idx, QPDFObjectHandle oh) } } +SparseOHArray +SparseOHArray::copy() +{ + SparseOHArray result; + result.n_elements = this->n_elements; + for (auto const& element: this->elements) { + auto value = element.second; + result.elements[element.first] = + value.isIndirect() ? value : value.shallowCopy(); + } + return result; +} + SparseOHArray::const_iterator SparseOHArray::begin() const { -- cgit v1.2.3-54-g00ecf