Commit ad2875a4aa6cc22e32bbaa848ae71619ff51c138

Authored by m-holger
1 parent 8fdc3f09

Remove temporary OHArray::size, append and remove_last

Also, add const overload of QPDFObjectHandle::getObj
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&lt;QPDFObjectHandle&gt;&amp; v) const @@ -162,7 +162,7 @@ QPDF_Array::getAsVector(std::vector&lt;QPDFObjectHandle&gt;&amp; 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&lt;QPDFObjectHandle&gt; const&amp; v) @@ -190,7 +190,7 @@ QPDF_Array::setFromVector(std::vector&lt;QPDFObjectHandle&gt; const&amp; 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&lt;std::shared_ptr&lt;QPDFObject&gt;&gt;&amp;&amp; v) @@ -211,7 +211,7 @@ QPDF_Array::setFromVector(std::vector&lt;std::shared_ptr&lt;QPDFObject&gt;&gt;&amp;&amp; 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&amp; item) @@ -228,7 +228,7 @@ QPDF_Array::insertItem(int at, QPDFObjectHandle const&amp; 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&amp; item) @@ -242,7 +242,7 @@ QPDF_Array::appendItem(QPDFObjectHandle const&amp; 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);