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 | 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<QPDFObjectHandle>& 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