Commit 83443c116d84494da3ee859f0115898118769dca

Authored by m-holger
1 parent b5a57800

Make ObjCache of inner class of QPDF::Objects and rename to Entry

include/qpdf/QPDF.hh
... ... @@ -748,7 +748,6 @@ class QPDF
748 748  
749 749 static std::string const qpdf_version;
750 750  
751   - class ObjCache;
752 751 class ObjCopier;
753 752 class EncryptionParameters;
754 753 class ForeignStreamData;
... ...
libqpdf/QPDF_objects.cc
... ... @@ -747,8 +747,8 @@ Xref_table::read_stream(qpdf_offset_t xref_offset)
747 747 QPDFObjGen x_og;
748 748 QPDFObjectHandle xref_obj;
749 749 try {
750   - xref_obj = qpdf.objects().read(
751   - false, xref_offset, "xref stream", QPDFObjGen(0, 0), x_og, true);
  750 + xref_obj =
  751 + objects.read(false, xref_offset, "xref stream", QPDFObjGen(0, 0), x_og, true);
752 752 } catch (QPDFExc&) {
753 753 // ignore -- report error below
754 754 }
... ... @@ -1693,7 +1693,7 @@ Objects::update_table(QPDFObjGen og, const std::shared_ptr<QPDFObject>& object)
1693 1693 auto& cache = obj_cache[og];
1694 1694 cache.object->assign(object);
1695 1695 } else {
1696   - obj_cache[og] = ObjCache(object);
  1696 + obj_cache[og] = Entry(object);
1697 1697 }
1698 1698 }
1699 1699  
... ... @@ -1723,7 +1723,7 @@ QPDFObjectHandle
1723 1723 Objects::make_indirect(std::shared_ptr<QPDFObject> const& obj)
1724 1724 {
1725 1725 QPDFObjGen next{next_id()};
1726   - obj_cache[next] = ObjCache(obj);
  1726 + obj_cache[next] = Entry(obj);
1727 1727 return qpdf.newIndirect(next, obj_cache[next].object);
1728 1728 }
1729 1729  
... ...
libqpdf/qpdf/QPDF_objects.hh
... ... @@ -375,6 +375,18 @@ class QPDF::Objects
375 375 qpdf_offset_t first_item_offset_{0}; // actual value from file
376 376 }; // Xref_table;
377 377  
  378 + struct Entry
  379 + {
  380 + Entry() = default;
  381 +
  382 + Entry(std::shared_ptr<QPDFObject> object) :
  383 + object(std::move(object))
  384 + {
  385 + }
  386 +
  387 + std::shared_ptr<QPDFObject> object;
  388 + };
  389 +
378 390 Objects(QPDF& qpdf, QPDF::Members* m, InputSource* const& file) :
379 391 qpdf(qpdf),
380 392 file(file),
... ... @@ -407,7 +419,7 @@ class QPDF::Objects
407 419 return xref.trailer();
408 420 }
409 421  
410   - std::map<QPDFObjGen, ObjCache> obj_cache;
  422 + std::map<QPDFObjGen, Entry> obj_cache;
411 423  
412 424 QPDFObjectHandle readObjectInStream(std::shared_ptr<InputSource>& input, int obj);
413 425 QPDFObjectHandle read(
... ...
libqpdf/qpdf/QPDF_private.hh
... ... @@ -72,19 +72,6 @@ class QPDF::Pipe
72 72 }
73 73 };
74 74  
75   -class QPDF::ObjCache
76   -{
77   - public:
78   - ObjCache() = default;
79   -
80   - ObjCache(std::shared_ptr<QPDFObject> object) :
81   - object(object)
82   - {
83   - }
84   -
85   - std::shared_ptr<QPDFObject> object;
86   -};
87   -
88 75 class QPDF::ObjCopier
89 76 {
90 77 public:
... ...