-
…n `QPDFAcroFormDocumentHelper`.
-
…e memory management, and streamline class definition.
-
…e()` for re-validation and repair of AcroForm structure.
-
…roduce `empty` checks, and use `std::cmp_less` and `emplace_back` for better clarity and efficiency.
-
…`warn`, streamline condition handling.
-
Refactored several classes to use C++11 `final` specifiers for inheritance restrictions and added default member initializations. These changes enhance code clarity, improve safety, and ensure modern coding practices.
-
Simplified checks for empty containers and strings across the codebase using the `.empty()` method. This improves code readability and adheres to best practices for checking emptiness.
-
Converted multiple occurrences of `count()` to `contains()` throughout the codebase where the goal was to check key existence in containers. This improves code readability and aligns with modern C++ practices, particularly with C++20, making the intent more explicit and potentially aiding performance.
-
This improves indentation of long strings. This commit also fixes some trailing whitespace in ChangeLog.
-
Rather than adding yet another flag that is almost never useful on its own, just have --remove-restrictions disable digital signatures. The operations are still separate in the API.
-
Using search and replace.
-
For consistency with similar methods, e.g. replaceObject.
-
Remove any ambiguity around whether old or new value is being returned.
-
Also, revert inlining of unparse and operator << from commit 4c6640c in order to avoid exposing QUtil.
-
Remove variables obsoleted by commit 4f24617.
-
I decided these were confusing and inconsistent with how JSON works. They muddle the API rather than improving it.
-
Where not possible, use "auto" to get the iterator type. Editorial note: I have avoid this change for a long time because of not wanting to make gratuitous changes to version history, which can obscure when certain changes were made, but with having recently touched every single file to apply automatic code formatting and with making several broad changes to the API, I decided it was time to take the plunge and get rid of the older (pre-C++11) verbose iterator syntax. The new code is just easier to read and understand, and in many cases, it will be more effecient as fewer temporary copies are being made. m-holger, if you're reading, you can see that I've finally come around. :-)
-
Change .clang-format and commit automated changes from a fresh run of format-code