From c11636b50312730385ddd5d185104fe8c35ffeda Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 8 Mar 2025 15:18:35 +0000 Subject: [PATCH] Update library notes --- manual/design.rst | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/manual/design.rst b/manual/design.rst index 5902549..ab73907 100644 --- a/manual/design.rst +++ b/manual/design.rst @@ -340,7 +340,7 @@ qpdf Object Internals --------------------- The internals of ``QPDFObjectHandle`` and how qpdf stores objects were -significantly rewritten for qpdf 11. Here are some additional details. +significantly rewritten for qpdf 11 and 12. Here are some additional details. Object Internals ~~~~~~~~~~~~~~~~ @@ -356,6 +356,9 @@ any changes are reflected. Objects in qpdf 11 and Newer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +qpdf 11 +....... + The object cache in ``QPDF`` contains a shared pointer to ``QPDFObject``. Any ``QPDFObjectHandle`` resolved from an indirect reference to that object has a copy of that shared pointer. Each @@ -391,6 +394,15 @@ operation also has the effect of breaking any circular references specification), thus preventing memory leaks when ``QPDF`` objects are destroyed. +qpdf 12 +....... + +In qpdf 12, the shared pointer to a ``QPDFValue`` contained in each +``QPDFObject`` was replaced with a ``std::variant``. The base class +``QPDFValue`` was merged into ``QPDFObject``, and its sub-classes +became independent classes. + + Objects prior to qpdf 11 ~~~~~~~~~~~~~~~~~~~~~~~~ -- libgit2 0.21.4