Commit 83443c116d84494da3ee859f0115898118769dca
1 parent
b5a57800
Make ObjCache of inner class of QPDF::Objects and rename to Entry
Showing
4 changed files
with
17 additions
and
19 deletions
include/qpdf/QPDF.hh
| @@ -748,7 +748,6 @@ class QPDF | @@ -748,7 +748,6 @@ class QPDF | ||
| 748 | 748 | ||
| 749 | static std::string const qpdf_version; | 749 | static std::string const qpdf_version; |
| 750 | 750 | ||
| 751 | - class ObjCache; | ||
| 752 | class ObjCopier; | 751 | class ObjCopier; |
| 753 | class EncryptionParameters; | 752 | class EncryptionParameters; |
| 754 | class ForeignStreamData; | 753 | class ForeignStreamData; |
libqpdf/QPDF_objects.cc
| @@ -747,8 +747,8 @@ Xref_table::read_stream(qpdf_offset_t xref_offset) | @@ -747,8 +747,8 @@ Xref_table::read_stream(qpdf_offset_t xref_offset) | ||
| 747 | QPDFObjGen x_og; | 747 | QPDFObjGen x_og; |
| 748 | QPDFObjectHandle xref_obj; | 748 | QPDFObjectHandle xref_obj; |
| 749 | try { | 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 | } catch (QPDFExc&) { | 752 | } catch (QPDFExc&) { |
| 753 | // ignore -- report error below | 753 | // ignore -- report error below |
| 754 | } | 754 | } |
| @@ -1693,7 +1693,7 @@ Objects::update_table(QPDFObjGen og, const std::shared_ptr<QPDFObject>& object) | @@ -1693,7 +1693,7 @@ Objects::update_table(QPDFObjGen og, const std::shared_ptr<QPDFObject>& object) | ||
| 1693 | auto& cache = obj_cache[og]; | 1693 | auto& cache = obj_cache[og]; |
| 1694 | cache.object->assign(object); | 1694 | cache.object->assign(object); |
| 1695 | } else { | 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,7 +1723,7 @@ QPDFObjectHandle | ||
| 1723 | Objects::make_indirect(std::shared_ptr<QPDFObject> const& obj) | 1723 | Objects::make_indirect(std::shared_ptr<QPDFObject> const& obj) |
| 1724 | { | 1724 | { |
| 1725 | QPDFObjGen next{next_id()}; | 1725 | QPDFObjGen next{next_id()}; |
| 1726 | - obj_cache[next] = ObjCache(obj); | 1726 | + obj_cache[next] = Entry(obj); |
| 1727 | return qpdf.newIndirect(next, obj_cache[next].object); | 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,6 +375,18 @@ class QPDF::Objects | ||
| 375 | qpdf_offset_t first_item_offset_{0}; // actual value from file | 375 | qpdf_offset_t first_item_offset_{0}; // actual value from file |
| 376 | }; // Xref_table; | 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 | Objects(QPDF& qpdf, QPDF::Members* m, InputSource* const& file) : | 390 | Objects(QPDF& qpdf, QPDF::Members* m, InputSource* const& file) : |
| 379 | qpdf(qpdf), | 391 | qpdf(qpdf), |
| 380 | file(file), | 392 | file(file), |
| @@ -407,7 +419,7 @@ class QPDF::Objects | @@ -407,7 +419,7 @@ class QPDF::Objects | ||
| 407 | return xref.trailer(); | 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 | QPDFObjectHandle readObjectInStream(std::shared_ptr<InputSource>& input, int obj); | 424 | QPDFObjectHandle readObjectInStream(std::shared_ptr<InputSource>& input, int obj); |
| 413 | QPDFObjectHandle read( | 425 | QPDFObjectHandle read( |
libqpdf/qpdf/QPDF_private.hh
| @@ -72,19 +72,6 @@ class QPDF::Pipe | @@ -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 | class QPDF::ObjCopier | 75 | class QPDF::ObjCopier |
| 89 | { | 76 | { |
| 90 | public: | 77 | public: |