Commit 1367226002d48bc0d67c08cae498fd92dad41977
1 parent
ad2875a4
Remove temporary OHArray::at
Showing
3 changed files
with
11 additions
and
22 deletions
libqpdf/OHArray.cc
| @@ -11,17 +11,6 @@ OHArray::OHArray() | @@ -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 | void | 14 | void |
| 26 | OHArray::disconnect() | 15 | OHArray::disconnect() |
| 27 | { | 16 | { |
libqpdf/QPDF_Array.cc
| @@ -5,6 +5,8 @@ | @@ -5,6 +5,8 @@ | ||
| 5 | #include <qpdf/QUtil.hh> | 5 | #include <qpdf/QUtil.hh> |
| 6 | #include <stdexcept> | 6 | #include <stdexcept> |
| 7 | 7 | ||
| 8 | +static const QPDFObjectHandle null_oh = QPDFObjectHandle::newNull(); | ||
| 9 | + | ||
| 8 | QPDF_Array::QPDF_Array(std::vector<QPDFObjectHandle> const& v) : | 10 | QPDF_Array::QPDF_Array(std::vector<QPDFObjectHandle> const& v) : |
| 9 | QPDFValue(::ot_array, "array") | 11 | QPDFValue(::ot_array, "array") |
| 10 | { | 12 | { |
| @@ -93,9 +95,9 @@ QPDF_Array::unparse() | @@ -93,9 +95,9 @@ QPDF_Array::unparse() | ||
| 93 | return result; | 95 | return result; |
| 94 | } else { | 96 | } else { |
| 95 | std::string result = "[ "; | 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 | result += " "; | 101 | result += " "; |
| 100 | } | 102 | } |
| 101 | result += "]"; | 103 | result += "]"; |
| @@ -116,8 +118,8 @@ QPDF_Array::getJSON(int json_version) | @@ -116,8 +118,8 @@ QPDF_Array::getJSON(int json_version) | ||
| 116 | } else { | 118 | } else { |
| 117 | JSON j = JSON::makeArray(); | 119 | JSON j = JSON::makeArray(); |
| 118 | size_t size = elements.elements.size(); | 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 | return j; | 124 | return j; |
| 123 | } | 125 | } |
| @@ -149,7 +151,8 @@ QPDF_Array::getItem(int n) const | @@ -149,7 +151,8 @@ QPDF_Array::getItem(int n) const | ||
| 149 | throw std::logic_error( | 151 | throw std::logic_error( |
| 150 | "INTERNAL ERROR: bounds error accessing QPDF_Array element"); | 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<QPDFObjectHandle>& v) const | @@ -162,10 +165,8 @@ QPDF_Array::getAsVector(std::vector<QPDFObjectHandle>& v) const | ||
| 162 | v.push_back(sp_elements.at(i)); | 165 | v.push_back(sp_elements.at(i)); |
| 163 | } | 166 | } |
| 164 | } else { | 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,7 +12,6 @@ class OHArray | ||
| 12 | { | 12 | { |
| 13 | public: | 13 | public: |
| 14 | OHArray(); | 14 | OHArray(); |
| 15 | - QPDFObjectHandle at(size_t idx) const; | ||
| 16 | void setAt(size_t idx, QPDFObjectHandle oh); | 15 | void setAt(size_t idx, QPDFObjectHandle oh); |
| 17 | void erase(size_t idx); | 16 | void erase(size_t idx); |
| 18 | void insert(size_t idx, QPDFObjectHandle oh); | 17 | void insert(size_t idx, QPDFObjectHandle oh); |