-
* Use unique_ptr in place of shared_ptr in some cases * unique_ptr for arrays does not require a custom deleter * use std::make_unique (c++14) where possible
-
None of these are in the public API.
-
Use get() and use_count() instead. Add #define NO_POINTERHOLDER_DEPRECATION to remove deprecation markers for these only. This commit also removes all deprecated PointerHolder API calls from qpdf's code except in PointerHolder's test suite, which must continue to test the deprecated APIs.
-
PointerHolder will be replaced with shared_ptr, so let people start moving.
-
add qpdf_oh_new_binary_unicode_string and qpdf_oh_get_binary_utf8_value
-
Let argv be a null-terminated array. There is already code that assumes this, and it makes it easier to construct the arguments.
-
This makes it much more convention to use the initializeFromArgv functions since you can use string literals.
-
For optional parameter/choices, generate an overloaded config method that takes no arguments. This makes it possible to convert from a bare argument to one that takes an optional parameter without breaking binary compatibility.
-
Use "file" consistently for specifying a file path. We use "filename" when adding attachments for a completely different purpose.
-
Since the functionality of argument parsing has moved into QPDFJob, these classes no longer need to be public. Their methods still have to be in the library's binary interface so they can be tested in libtests.
-
Why? The main methods that create them return smart pointers so that users can initialize them when needed, which you can't do with references. Returning pointers instead of references makes for a more uniform interface.
-
Use named functions rather than just end() for clarity.
-
All that's left now is input and output handling.
-
This was used, but it no longer is, so let's not keep the extra complexity around.