aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-03-25 17:59:49 +0100
committerm-holger <m-holger@kubitscheck.org>2023-03-29 14:00:28 +0200
commit1367226002d48bc0d67c08cae498fd92dad41977 (patch)
treefb98851405304696f608b9f08ce16f934c592016 /libqpdf
parentad2875a4aa6cc22e32bbaa848ae71619ff51c138 (diff)
downloadqpdf-1367226002d48bc0d67c08cae498fd92dad41977.tar.zst
Remove temporary OHArray::at
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/OHArray.cc11
-rw-r--r--libqpdf/QPDF_Array.cc21
-rw-r--r--libqpdf/qpdf/OHArray.hh1
3 files changed, 11 insertions, 22 deletions
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 <qpdf/QUtil.hh>
#include <stdexcept>
+static const QPDFObjectHandle null_oh = QPDFObjectHandle::newNull();
+
QPDF_Array::QPDF_Array(std::vector<QPDFObjectHandle> 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<QPDFObjectHandle>& 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<QPDFObjectHandle>(
+ 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);