From 1367226002d48bc0d67c08cae498fd92dad41977 Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 25 Mar 2023 16:59:49 +0000 Subject: Remove temporary OHArray::at --- libqpdf/OHArray.cc | 11 ----------- libqpdf/QPDF_Array.cc | 21 +++++++++++---------- libqpdf/qpdf/OHArray.hh | 1 - 3 files changed, 11 insertions(+), 22 deletions(-) (limited to 'libqpdf') diff --git a/libqpdf/OHArray.cc b/libqpdf/OHArray.cc index 22b99b13..dc01421f 100644 --- a/libqpdf/OHArray.cc +++ b/libqpdf/OHArray.cc @@ -11,17 +11,6 @@ OHArray::OHArray() { } -QPDFObjectHandle -OHArray::at(size_t idx) const -{ - if (idx >= elements.size()) { - throw std::logic_error( - "INTERNAL ERROR: bounds error accessing OHArray element"); - } - auto const& obj = elements.at(idx); - return obj ? obj : null_oh; -} - void OHArray::disconnect() { diff --git a/libqpdf/QPDF_Array.cc b/libqpdf/QPDF_Array.cc index afe33827..b86c3f0a 100644 --- a/libqpdf/QPDF_Array.cc +++ b/libqpdf/QPDF_Array.cc @@ -5,6 +5,8 @@ #include #include +static const QPDFObjectHandle null_oh = QPDFObjectHandle::newNull(); + QPDF_Array::QPDF_Array(std::vector const& v) : QPDFValue(::ot_array, "array") { @@ -93,9 +95,9 @@ QPDF_Array::unparse() return result; } else { std::string result = "[ "; - size_t size = elements.elements.size(); - for (size_t i = 0; i < size; ++i) { - result += elements.at(i).unparse(); + auto size = elements.elements.size(); + for (int i = 0; i < int(size); ++i) { + result += getItem(i).unparse(); result += " "; } result += "]"; @@ -116,8 +118,8 @@ QPDF_Array::getJSON(int json_version) } else { JSON j = JSON::makeArray(); size_t size = elements.elements.size(); - for (size_t i = 0; i < size; ++i) { - j.addArrayElement(elements.at(i).getJSON(json_version)); + for (int i = 0; i < int(size); ++i) { + j.addArrayElement(getItem(i).getJSON(json_version)); } return j; } @@ -149,7 +151,8 @@ QPDF_Array::getItem(int n) const throw std::logic_error( "INTERNAL ERROR: bounds error accessing QPDF_Array element"); } - return elements.at(QIntC::to_size(n)); + auto const& obj = elements.elements.at(size_t(n)); + return obj ? obj : null_oh; } } @@ -162,10 +165,8 @@ QPDF_Array::getAsVector(std::vector& v) const v.push_back(sp_elements.at(i)); } } else { - size_t size = elements.elements.size(); - for (size_t i = 0; i < size; ++i) { - v.push_back(elements.at(i)); - } + v = std::vector( + elements.elements.cbegin(), elements.elements.cend()); } } diff --git a/libqpdf/qpdf/OHArray.hh b/libqpdf/qpdf/OHArray.hh index a87cd6b5..e8abc8b3 100644 --- a/libqpdf/qpdf/OHArray.hh +++ b/libqpdf/qpdf/OHArray.hh @@ -12,7 +12,6 @@ class OHArray { public: OHArray(); - QPDFObjectHandle at(size_t idx) const; void setAt(size_t idx, QPDFObjectHandle oh); void erase(size_t idx); void insert(size_t idx, QPDFObjectHandle oh); -- cgit v1.2.3-54-g00ecf