Commit c11636b50312730385ddd5d185104fe8c35ffeda
1 parent
5f541754
Update library notes
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 | ... | ... |