Commit 8ad773dea58f7db312094e88f4fb26bbf6861605

Authored by Jay Berkenbilt
2 parents 7c88bb98 c11636b5

Merge remote-tracking branch 'mh/design' into work

Showing 1 changed file with 13 additions and 1 deletions
manual/design.rst
... ... @@ -340,7 +340,7 @@ qpdf Object Internals
340 340 ---------------------
341 341  
342 342 The internals of ``QPDFObjectHandle`` and how qpdf stores objects were
343   -significantly rewritten for qpdf 11. Here are some additional details.
  343 +significantly rewritten for qpdf 11 and 12. Here are some additional details.
344 344  
345 345 Object Internals
346 346 ~~~~~~~~~~~~~~~~
... ... @@ -356,6 +356,9 @@ any changes are reflected.
356 356 Objects in qpdf 11 and Newer
357 357 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
358 358  
  359 +qpdf 11
  360 +.......
  361 +
359 362 The object cache in ``QPDF`` contains a shared pointer to
360 363 ``QPDFObject``. Any ``QPDFObjectHandle`` resolved from an indirect
361 364 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
391 394 specification), thus preventing memory leaks when ``QPDF`` objects are
392 395 destroyed.
393 396  
  397 +qpdf 12
  398 +.......
  399 +
  400 +In qpdf 12, the shared pointer to a ``QPDFValue`` contained in each
  401 +``QPDFObject`` was replaced with a ``std::variant``. The base class
  402 +``QPDFValue`` was merged into ``QPDFObject``, and its sub-classes
  403 +became independent classes.
  404 +
  405 +
394 406 Objects prior to qpdf 11
395 407 ~~~~~~~~~~~~~~~~~~~~~~~~
396 408  
... ...