Commit ad2875a4aa6cc22e32bbaa848ae71619ff51c138
1 parent
8fdc3f09
Remove temporary OHArray::size, append and remove_last
Also, add const overload of QPDFObjectHandle::getObj
Showing
4 changed files
with
15 additions
and
31 deletions
include/qpdf/QPDFObjectHandle.hh
| @@ -1578,6 +1578,11 @@ class QPDFObjectHandle | @@ -1578,6 +1578,11 @@ class QPDFObjectHandle | ||
| 1578 | { | 1578 | { |
| 1579 | return obj; | 1579 | return obj; |
| 1580 | } | 1580 | } |
| 1581 | + std::shared_ptr<QPDFObject> | ||
| 1582 | + getObj() const | ||
| 1583 | + { | ||
| 1584 | + return obj; | ||
| 1585 | + } | ||
| 1581 | QPDFObject* | 1586 | QPDFObject* |
| 1582 | getObjectPtr() | 1587 | getObjectPtr() |
| 1583 | { | 1588 | { |
libqpdf/OHArray.cc
| @@ -11,24 +11,6 @@ OHArray::OHArray() | @@ -11,24 +11,6 @@ OHArray::OHArray() | ||
| 11 | { | 11 | { |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | -size_t | ||
| 15 | -OHArray::size() const | ||
| 16 | -{ | ||
| 17 | - return elements.size(); | ||
| 18 | -} | ||
| 19 | - | ||
| 20 | -void | ||
| 21 | -OHArray::append(QPDFObjectHandle oh) | ||
| 22 | -{ | ||
| 23 | - elements.push_back(oh.getObj()); | ||
| 24 | -} | ||
| 25 | - | ||
| 26 | -void | ||
| 27 | -OHArray::append(std::shared_ptr<QPDFObject>&& obj) | ||
| 28 | -{ | ||
| 29 | - elements.push_back(std::move(obj)); | ||
| 30 | -} | ||
| 31 | - | ||
| 32 | QPDFObjectHandle | 14 | QPDFObjectHandle |
| 33 | OHArray::at(size_t idx) const | 15 | OHArray::at(size_t idx) const |
| 34 | { | 16 | { |
| @@ -77,7 +59,7 @@ OHArray::insert(size_t idx, QPDFObjectHandle oh) | @@ -77,7 +59,7 @@ OHArray::insert(size_t idx, QPDFObjectHandle oh) | ||
| 77 | throw std::logic_error("bounds error inserting item to OHArray"); | 59 | throw std::logic_error("bounds error inserting item to OHArray"); |
| 78 | } else if (idx == elements.size()) { | 60 | } else if (idx == elements.size()) { |
| 79 | // Allow inserting to the last position | 61 | // Allow inserting to the last position |
| 80 | - append(oh.getObj()); | 62 | + elements.push_back(oh.getObj()); |
| 81 | } else { | 63 | } else { |
| 82 | int n = int(idx); | 64 | int n = int(idx); |
| 83 | elements.insert(elements.cbegin() + n, oh.getObj()); | 65 | elements.insert(elements.cbegin() + n, oh.getObj()); |
libqpdf/QPDF_Array.cc
| @@ -93,7 +93,7 @@ QPDF_Array::unparse() | @@ -93,7 +93,7 @@ QPDF_Array::unparse() | ||
| 93 | return result; | 93 | return result; |
| 94 | } else { | 94 | } else { |
| 95 | std::string result = "[ "; | 95 | std::string result = "[ "; |
| 96 | - size_t size = elements.size(); | 96 | + size_t size = elements.elements.size(); |
| 97 | for (size_t i = 0; i < size; ++i) { | 97 | for (size_t i = 0; i < size; ++i) { |
| 98 | result += elements.at(i).unparse(); | 98 | result += elements.at(i).unparse(); |
| 99 | result += " "; | 99 | result += " "; |
| @@ -115,7 +115,7 @@ QPDF_Array::getJSON(int json_version) | @@ -115,7 +115,7 @@ QPDF_Array::getJSON(int json_version) | ||
| 115 | return j; | 115 | return j; |
| 116 | } else { | 116 | } else { |
| 117 | JSON j = JSON::makeArray(); | 117 | JSON j = JSON::makeArray(); |
| 118 | - size_t size = elements.size(); | 118 | + size_t size = elements.elements.size(); |
| 119 | for (size_t i = 0; i < size; ++i) { | 119 | for (size_t i = 0; i < size; ++i) { |
| 120 | j.addArrayElement(elements.at(i).getJSON(json_version)); | 120 | j.addArrayElement(elements.at(i).getJSON(json_version)); |
| 121 | } | 121 | } |
| @@ -131,7 +131,7 @@ QPDF_Array::getNItems() const | @@ -131,7 +131,7 @@ QPDF_Array::getNItems() const | ||
| 131 | // a lot of code. | 131 | // a lot of code. |
| 132 | return QIntC::to_int(sp_elements.size()); | 132 | return QIntC::to_int(sp_elements.size()); |
| 133 | } else { | 133 | } else { |
| 134 | - return QIntC::to_int(elements.size()); | 134 | + return QIntC::to_int(elements.elements.size()); |
| 135 | } | 135 | } |
| 136 | } | 136 | } |
| 137 | 137 | ||
| @@ -145,7 +145,7 @@ QPDF_Array::getItem(int n) const | @@ -145,7 +145,7 @@ QPDF_Array::getItem(int n) const | ||
| 145 | } | 145 | } |
| 146 | return sp_elements.at(QIntC::to_size(n)); | 146 | return sp_elements.at(QIntC::to_size(n)); |
| 147 | } else { | 147 | } else { |
| 148 | - if ((n < 0) || (n >= QIntC::to_int(elements.size()))) { | 148 | + if ((n < 0) || (n >= QIntC::to_int(elements.elements.size()))) { |
| 149 | throw std::logic_error( | 149 | throw std::logic_error( |
| 150 | "INTERNAL ERROR: bounds error accessing QPDF_Array element"); | 150 | "INTERNAL ERROR: bounds error accessing QPDF_Array element"); |
| 151 | } | 151 | } |
| @@ -162,7 +162,7 @@ QPDF_Array::getAsVector(std::vector<QPDFObjectHandle>& v) const | @@ -162,7 +162,7 @@ QPDF_Array::getAsVector(std::vector<QPDFObjectHandle>& v) const | ||
| 162 | v.push_back(sp_elements.at(i)); | 162 | v.push_back(sp_elements.at(i)); |
| 163 | } | 163 | } |
| 164 | } else { | 164 | } else { |
| 165 | - size_t size = elements.size(); | 165 | + size_t size = elements.elements.size(); |
| 166 | for (size_t i = 0; i < size; ++i) { | 166 | for (size_t i = 0; i < size; ++i) { |
| 167 | v.push_back(elements.at(i)); | 167 | v.push_back(elements.at(i)); |
| 168 | } | 168 | } |
| @@ -190,7 +190,7 @@ QPDF_Array::setFromVector(std::vector<QPDFObjectHandle> const& v) | @@ -190,7 +190,7 @@ QPDF_Array::setFromVector(std::vector<QPDFObjectHandle> const& v) | ||
| 190 | } else { | 190 | } else { |
| 191 | elements = OHArray(); | 191 | elements = OHArray(); |
| 192 | for (auto const& iter: v) { | 192 | for (auto const& iter: v) { |
| 193 | - elements.append(iter); | 193 | + elements.elements.push_back(iter.getObj()); |
| 194 | } | 194 | } |
| 195 | } | 195 | } |
| 196 | } | 196 | } |
| @@ -211,7 +211,7 @@ QPDF_Array::setFromVector(std::vector<std::shared_ptr<QPDFObject>>&& v) | @@ -211,7 +211,7 @@ QPDF_Array::setFromVector(std::vector<std::shared_ptr<QPDFObject>>&& v) | ||
| 211 | } else { | 211 | } else { |
| 212 | elements = OHArray(); | 212 | elements = OHArray(); |
| 213 | for (auto&& item: v) { | 213 | for (auto&& item: v) { |
| 214 | - elements.append(std::move(item)); | 214 | + elements.elements.push_back(std::move(item)); |
| 215 | } | 215 | } |
| 216 | } | 216 | } |
| 217 | } | 217 | } |
| @@ -228,7 +228,7 @@ QPDF_Array::insertItem(int at, QPDFObjectHandle const& item) | @@ -228,7 +228,7 @@ QPDF_Array::insertItem(int at, QPDFObjectHandle const& item) | ||
| 228 | sp_elements.insert(QIntC::to_size(at), item); | 228 | sp_elements.insert(QIntC::to_size(at), item); |
| 229 | } else { | 229 | } else { |
| 230 | // As special case, also allow insert beyond the end | 230 | // As special case, also allow insert beyond the end |
| 231 | - if ((at < 0) || (at > QIntC::to_int(elements.size()))) { | 231 | + if ((at < 0) || (at > QIntC::to_int(elements.elements.size()))) { |
| 232 | throw std::logic_error( | 232 | throw std::logic_error( |
| 233 | "INTERNAL ERROR: bounds error accessing QPDF_Array element"); | 233 | "INTERNAL ERROR: bounds error accessing QPDF_Array element"); |
| 234 | } | 234 | } |
| @@ -242,7 +242,7 @@ QPDF_Array::appendItem(QPDFObjectHandle const& item) | @@ -242,7 +242,7 @@ QPDF_Array::appendItem(QPDFObjectHandle const& item) | ||
| 242 | if (sparse) { | 242 | if (sparse) { |
| 243 | sp_elements.append(item); | 243 | sp_elements.append(item); |
| 244 | } else { | 244 | } else { |
| 245 | - elements.append(item); | 245 | + elements.elements.push_back(item.getObj()); |
| 246 | } | 246 | } |
| 247 | } | 247 | } |
| 248 | 248 |
libqpdf/qpdf/OHArray.hh
| @@ -12,9 +12,6 @@ class OHArray | @@ -12,9 +12,6 @@ class OHArray | ||
| 12 | { | 12 | { |
| 13 | public: | 13 | public: |
| 14 | OHArray(); | 14 | OHArray(); |
| 15 | - size_t size() const; | ||
| 16 | - void append(QPDFObjectHandle oh); | ||
| 17 | - void append(std::shared_ptr<QPDFObject>&& obj); | ||
| 18 | QPDFObjectHandle at(size_t idx) const; | 15 | QPDFObjectHandle at(size_t idx) const; |
| 19 | void setAt(size_t idx, QPDFObjectHandle oh); | 16 | void setAt(size_t idx, QPDFObjectHandle oh); |
| 20 | void erase(size_t idx); | 17 | void erase(size_t idx); |