2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-22 03:54:41 +00:00

Refactor QPDF_Array::disconnect

This commit is contained in:
m-holger 2022-12-11 16:13:19 +00:00
parent 0aae54d383
commit a171ebb942
4 changed files with 9 additions and 15 deletions

View File

@ -1494,10 +1494,8 @@ class QPDFObjectHandle
// disconnected(). // disconnected().
class DisconnectAccess class DisconnectAccess
{ {
friend class QPDF_Array;
friend class QPDF_Dictionary; friend class QPDF_Dictionary;
friend class QPDF_Stream; friend class QPDF_Stream;
friend class SparseOHArray;
private: private:
static void static void

View File

@ -116,11 +116,16 @@ void
QPDF_Array::disconnect() QPDF_Array::disconnect()
{ {
if (sparse) { if (sparse) {
sp_elements.disconnect(); for (auto& item: sp_elements.elements) {
auto& obj = item.second;
if (!obj->getObjGen().isIndirect()) {
obj->disconnect();
}
}
} else { } else {
for (auto const& iter: elements) { for (auto& obj: elements) {
if (iter) { if (!obj->getObjGen().isIndirect()) {
QPDFObjectHandle::DisconnectAccess::disconnect(iter); obj->disconnect();
} }
} }
} }

View File

@ -1,13 +1,5 @@
#include <qpdf/SparseOHArray.hh> #include <qpdf/SparseOHArray.hh>
void
SparseOHArray::disconnect()
{
for (auto& iter: this->elements) {
QPDFObjectHandle::DisconnectAccess::disconnect(iter.second);
}
}
SparseOHArray SparseOHArray
SparseOHArray::copy() SparseOHArray::copy()
{ {

View File

@ -17,7 +17,6 @@ class SparseOHArray
return n_elements; return n_elements;
} }
SparseOHArray copy(); SparseOHArray copy();
void disconnect();
private: private:
friend class QPDF_Array; friend class QPDF_Array;