Commit 1367226002d48bc0d67c08cae498fd92dad41977

Authored by m-holger
1 parent ad2875a4

Remove temporary OHArray::at

libqpdf/OHArray.cc
... ... @@ -11,17 +11,6 @@ OHArray::OHArray()
11 11 {
12 12 }
13 13  
14   -QPDFObjectHandle
15   -OHArray::at(size_t idx) const
16   -{
17   - if (idx >= elements.size()) {
18   - throw std::logic_error(
19   - "INTERNAL ERROR: bounds error accessing OHArray element");
20   - }
21   - auto const& obj = elements.at(idx);
22   - return obj ? obj : null_oh;
23   -}
24   -
25 14 void
26 15 OHArray::disconnect()
27 16 {
... ...
libqpdf/QPDF_Array.cc
... ... @@ -5,6 +5,8 @@
5 5 #include <qpdf/QUtil.hh>
6 6 #include <stdexcept>
7 7  
  8 +static const QPDFObjectHandle null_oh = QPDFObjectHandle::newNull();
  9 +
8 10 QPDF_Array::QPDF_Array(std::vector<QPDFObjectHandle> const& v) :
9 11 QPDFValue(::ot_array, "array")
10 12 {
... ... @@ -93,9 +95,9 @@ QPDF_Array::unparse()
93 95 return result;
94 96 } else {
95 97 std::string result = "[ ";
96   - size_t size = elements.elements.size();
97   - for (size_t i = 0; i < size; ++i) {
98   - result += elements.at(i).unparse();
  98 + auto size = elements.elements.size();
  99 + for (int i = 0; i < int(size); ++i) {
  100 + result += getItem(i).unparse();
99 101 result += " ";
100 102 }
101 103 result += "]";
... ... @@ -116,8 +118,8 @@ QPDF_Array::getJSON(int json_version)
116 118 } else {
117 119 JSON j = JSON::makeArray();
118 120 size_t size = elements.elements.size();
119   - for (size_t i = 0; i < size; ++i) {
120   - j.addArrayElement(elements.at(i).getJSON(json_version));
  121 + for (int i = 0; i < int(size); ++i) {
  122 + j.addArrayElement(getItem(i).getJSON(json_version));
121 123 }
122 124 return j;
123 125 }
... ... @@ -149,7 +151,8 @@ QPDF_Array::getItem(int n) const
149 151 throw std::logic_error(
150 152 "INTERNAL ERROR: bounds error accessing QPDF_Array element");
151 153 }
152   - return elements.at(QIntC::to_size(n));
  154 + auto const& obj = elements.elements.at(size_t(n));
  155 + return obj ? obj : null_oh;
153 156 }
154 157 }
155 158  
... ... @@ -162,10 +165,8 @@ QPDF_Array::getAsVector(std::vector&lt;QPDFObjectHandle&gt;&amp; v) const
162 165 v.push_back(sp_elements.at(i));
163 166 }
164 167 } else {
165   - size_t size = elements.elements.size();
166   - for (size_t i = 0; i < size; ++i) {
167   - v.push_back(elements.at(i));
168   - }
  168 + v = std::vector<QPDFObjectHandle>(
  169 + elements.elements.cbegin(), elements.elements.cend());
169 170 }
170 171 }
171 172  
... ...
libqpdf/qpdf/OHArray.hh
... ... @@ -12,7 +12,6 @@ class OHArray
12 12 {
13 13 public:
14 14 OHArray();
15   - QPDFObjectHandle at(size_t idx) const;
16 15 void setAt(size_t idx, QPDFObjectHandle oh);
17 16 void erase(size_t idx);
18 17 void insert(size_t idx, QPDFObjectHandle oh);
... ...