From ad2875a4aa6cc22e32bbaa848ae71619ff51c138 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 25 Mar 2023 16:37:47 +0000 Subject: Remove temporary OHArray::size, append and remove_last Also, add const overload of QPDFObjectHandle::getObj --- include/qpdf/QPDFObjectHandle.hh | 5 +++++ libqpdf/OHArray.cc | 20 +------------------- libqpdf/QPDF_Array.cc | 18 +++++++++--------- libqpdf/qpdf/OHArray.hh | 3 --- 4 files changed, 15 insertions(+), 31 deletions(-) diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index b722b083..5166e198 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -1578,6 +1578,11 @@ class QPDFObjectHandle { return obj; } + std::shared_ptr + getObj() const + { + return obj; + } QPDFObject* getObjectPtr() { diff --git a/libqpdf/OHArray.cc b/libqpdf/OHArray.cc index e25e1239..22b99b13 100644 --- a/libqpdf/OHArray.cc +++ b/libqpdf/OHArray.cc @@ -11,24 +11,6 @@ OHArray::OHArray() { } -size_t -OHArray::size() const -{ - return elements.size(); -} - -void -OHArray::append(QPDFObjectHandle oh) -{ - elements.push_back(oh.getObj()); -} - -void -OHArray::append(std::shared_ptr&& obj) -{ - elements.push_back(std::move(obj)); -} - QPDFObjectHandle OHArray::at(size_t idx) const { @@ -77,7 +59,7 @@ OHArray::insert(size_t idx, QPDFObjectHandle oh) throw std::logic_error("bounds error inserting item to OHArray"); } else if (idx == elements.size()) { // Allow inserting to the last position - append(oh.getObj()); + elements.push_back(oh.getObj()); } else { int n = int(idx); elements.insert(elements.cbegin() + n, oh.getObj()); diff --git a/libqpdf/QPDF_Array.cc b/libqpdf/QPDF_Array.cc index 31abd8eb..afe33827 100644 --- a/libqpdf/QPDF_Array.cc +++ b/libqpdf/QPDF_Array.cc @@ -93,7 +93,7 @@ QPDF_Array::unparse() return result; } else { std::string result = "[ "; - size_t size = elements.size(); + size_t size = elements.elements.size(); for (size_t i = 0; i < size; ++i) { result += elements.at(i).unparse(); result += " "; @@ -115,7 +115,7 @@ QPDF_Array::getJSON(int json_version) return j; } else { JSON j = JSON::makeArray(); - size_t size = elements.size(); + size_t size = elements.elements.size(); for (size_t i = 0; i < size; ++i) { j.addArrayElement(elements.at(i).getJSON(json_version)); } @@ -131,7 +131,7 @@ QPDF_Array::getNItems() const // a lot of code. return QIntC::to_int(sp_elements.size()); } else { - return QIntC::to_int(elements.size()); + return QIntC::to_int(elements.elements.size()); } } @@ -145,7 +145,7 @@ QPDF_Array::getItem(int n) const } return sp_elements.at(QIntC::to_size(n)); } else { - if ((n < 0) || (n >= QIntC::to_int(elements.size()))) { + if ((n < 0) || (n >= QIntC::to_int(elements.elements.size()))) { throw std::logic_error( "INTERNAL ERROR: bounds error accessing QPDF_Array element"); } @@ -162,7 +162,7 @@ QPDF_Array::getAsVector(std::vector& v) const v.push_back(sp_elements.at(i)); } } else { - size_t size = elements.size(); + size_t size = elements.elements.size(); for (size_t i = 0; i < size; ++i) { v.push_back(elements.at(i)); } @@ -190,7 +190,7 @@ QPDF_Array::setFromVector(std::vector const& v) } else { elements = OHArray(); for (auto const& iter: v) { - elements.append(iter); + elements.elements.push_back(iter.getObj()); } } } @@ -211,7 +211,7 @@ QPDF_Array::setFromVector(std::vector>&& v) } else { elements = OHArray(); for (auto&& item: v) { - elements.append(std::move(item)); + elements.elements.push_back(std::move(item)); } } } @@ -228,7 +228,7 @@ QPDF_Array::insertItem(int at, QPDFObjectHandle const& item) sp_elements.insert(QIntC::to_size(at), item); } else { // As special case, also allow insert beyond the end - if ((at < 0) || (at > QIntC::to_int(elements.size()))) { + if ((at < 0) || (at > QIntC::to_int(elements.elements.size()))) { throw std::logic_error( "INTERNAL ERROR: bounds error accessing QPDF_Array element"); } @@ -242,7 +242,7 @@ QPDF_Array::appendItem(QPDFObjectHandle const& item) if (sparse) { sp_elements.append(item); } else { - elements.append(item); + elements.elements.push_back(item.getObj()); } } diff --git a/libqpdf/qpdf/OHArray.hh b/libqpdf/qpdf/OHArray.hh index e6dc9524..a87cd6b5 100644 --- a/libqpdf/qpdf/OHArray.hh +++ b/libqpdf/qpdf/OHArray.hh @@ -12,9 +12,6 @@ class OHArray { public: OHArray(); - size_t size() const; - void append(QPDFObjectHandle oh); - void append(std::shared_ptr&& obj); QPDFObjectHandle at(size_t idx) const; void setAt(size_t idx, QPDFObjectHandle oh); void erase(size_t idx); -- cgit v1.2.3-54-g00ecf