Commit 4badc78aeaf977a875cc931ea99b0c2a5803d40c
1 parent
0d08f65c
Remove methods ObjTable::initialize
Showing
4 changed files
with
31 additions
and
15 deletions
libqpdf/QPDFWriter.cc
| ... | ... | @@ -2077,8 +2077,8 @@ void |
| 2077 | 2077 | QPDFWriter::initializeTables(size_t extra) |
| 2078 | 2078 | { |
| 2079 | 2079 | auto size = QIntC::to_size(QPDF::Writer::tableSize(m->pdf) + 100) + extra; |
| 2080 | - m->obj.initialize(size); | |
| 2081 | - m->new_obj.initialize(size); | |
| 2080 | + m->obj.resize(size); | |
| 2081 | + m->new_obj.resize(size); | |
| 2082 | 2082 | } |
| 2083 | 2083 | |
| 2084 | 2084 | void | ... | ... |
libqpdf/qpdf/ObjTable.hh
| ... | ... | @@ -100,15 +100,6 @@ class ObjTable: public std::vector<T> |
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | void |
| 103 | - initialize(size_t idx) | |
| 104 | - { | |
| 105 | - if (std::vector<T>::size() > 0 || !sparse_elements.empty()) { | |
| 106 | - throw ::std::logic_error("ObjTable accessed before initialization"); | |
| 107 | - } | |
| 108 | - resize(++idx); | |
| 109 | - } | |
| 110 | - | |
| 111 | - void | |
| 112 | 103 | resize(size_t a_size) |
| 113 | 104 | { |
| 114 | 105 | std::vector<T>::resize(a_size); | ... | ... |
libtests/obj_table.cc
| ... | ... | @@ -10,7 +10,7 @@ class Table: public ObjTable<Test> |
| 10 | 10 | public: |
| 11 | 11 | Table() |
| 12 | 12 | { |
| 13 | - initialize(5); | |
| 13 | + resize(5); | |
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | void |
| ... | ... | @@ -20,9 +20,19 @@ class Table: public ObjTable<Test> |
| 20 | 20 | (*this)[i].value = 2 * i; |
| 21 | 21 | (*this)[1000 + i].value = 2 * (1000 + i); |
| 22 | 22 | } |
| 23 | + for (int i: {50, 60, 70, 98, 99, 100, 101, 150, 198, 199, 200, 201}) { | |
| 24 | + (*this)[i].value = 2 * i; | |
| 25 | + } | |
| 26 | + resize(100); | |
| 27 | + for (int i: {1, 99, 100, 105, 110, 120, 220}) { | |
| 28 | + (*this)[i].value = 3 * i; | |
| 29 | + } | |
| 30 | + resize(200); | |
| 23 | 31 | |
| 24 | 32 | forEach([](auto i, auto const& item) -> void { |
| 25 | - std::cout << std::to_string(i) << " : " << std::to_string(item.value) << "\n"; | |
| 33 | + if (item.value) { | |
| 34 | + std::cout << std::to_string(i) << " : " << std::to_string(item.value) << "\n"; | |
| 35 | + } | |
| 26 | 36 | }); |
| 27 | 37 | |
| 28 | 38 | std::cout << "2000 : " << std::to_string((*this)[2000].value) << "\n"; | ... | ... |
libtests/qtest/obj_table/obj_table.out
| 1 | -0 : 0 | |
| 2 | -1 : 2 | |
| 1 | +1 : 3 | |
| 3 | 2 | 2 : 4 |
| 4 | 3 | 3 : 6 |
| 5 | 4 | 4 : 8 |
| ... | ... | @@ -8,6 +7,22 @@ |
| 8 | 7 | 7 : 14 |
| 9 | 8 | 8 : 16 |
| 10 | 9 | 9 : 18 |
| 10 | +50 : 100 | |
| 11 | +60 : 120 | |
| 12 | +70 : 140 | |
| 13 | +98 : 196 | |
| 14 | +99 : 297 | |
| 15 | +100 : 300 | |
| 16 | +101 : 202 | |
| 17 | +105 : 315 | |
| 18 | +110 : 330 | |
| 19 | +120 : 360 | |
| 20 | +150 : 300 | |
| 21 | +198 : 396 | |
| 22 | +199 : 398 | |
| 23 | +200 : 400 | |
| 24 | +201 : 402 | |
| 25 | +220 : 660 | |
| 11 | 26 | 1000 : 2000 |
| 12 | 27 | 1001 : 2002 |
| 13 | 28 | 1002 : 2004 | ... | ... |