Commit 5c7af348a01f1bac91fbd3d85f732cd9d46f8e93

Authored by m-holger
Committed by GitHub
2 parents c2131ff0 e5ab05fd

Merge pull request #1520 from m-holger/rr

Refactor QPDF::ResolveRecorder
libqpdf/QPDF_objects.cc
@@ -81,6 +81,24 @@ namespace @@ -81,6 +81,24 @@ namespace
81 }; 81 };
82 } // namespace 82 } // namespace
83 83
  84 +class QPDF::ResolveRecorder final
  85 +{
  86 + public:
  87 + ResolveRecorder(QPDF& qpdf, QPDFObjGen const& og) :
  88 + qpdf(qpdf),
  89 + iter(qpdf.m->resolving.insert(og).first)
  90 + {
  91 + }
  92 + ~ResolveRecorder()
  93 + {
  94 + qpdf.m->resolving.erase(iter);
  95 + }
  96 +
  97 + private:
  98 + QPDF& qpdf;
  99 + std::set<QPDFObjGen>::const_iterator iter;
  100 +};
  101 +
84 bool 102 bool
85 QPDF::findStartxref() 103 QPDF::findStartxref()
86 { 104 {
@@ -1593,7 +1611,7 @@ QPDF::resolve(QPDFObjGen og) @@ -1593,7 +1611,7 @@ QPDF::resolve(QPDFObjGen og)
1593 updateCache(og, QPDFObject::create<QPDF_Null>(), -1, -1); 1611 updateCache(og, QPDFObject::create<QPDF_Null>(), -1, -1);
1594 return m->obj_cache[og].object; 1612 return m->obj_cache[og].object;
1595 } 1613 }
1596 - ResolveRecorder rr(this, og); 1614 + ResolveRecorder rr(*this, og);
1597 1615
1598 if (m->xref_table.contains(og)) { 1616 if (m->xref_table.contains(og)) {
1599 QPDFXRefEntry const& entry = m->xref_table[og]; 1617 QPDFXRefEntry const& entry = m->xref_table[og];
libqpdf/qpdf/QPDF_private.hh
@@ -563,24 +563,6 @@ class QPDF::JobSetter @@ -563,24 +563,6 @@ class QPDF::JobSetter
563 } 563 }
564 }; 564 };
565 565
566 -class QPDF::ResolveRecorder  
567 -{  
568 - public:  
569 - ResolveRecorder(QPDF* qpdf, QPDFObjGen const& og) :  
570 - qpdf(qpdf),  
571 - iter(qpdf->m->resolving.insert(og).first)  
572 - {  
573 - }  
574 - virtual ~ResolveRecorder()  
575 - {  
576 - this->qpdf->m->resolving.erase(iter);  
577 - }  
578 -  
579 - private:  
580 - QPDF* qpdf;  
581 - std::set<QPDFObjGen>::const_iterator iter;  
582 -};  
583 -  
584 inline bool 566 inline bool
585 QPDF::reconstructed_xref() const 567 QPDF::reconstructed_xref() const
586 { 568 {