Age | Commit message (Collapse) | Author |
|
|
|
This is in preparation for restoring a QPDFObject.hh to ease the
transition on qpdf_object_type_e.
This commit was created by
* Renaming QPDFObject.cc and QPDFObject.hh
* Replacing QPDFObject\b with QPDFValueProxy (where \b is word
boundary)
* Running format-code
* Manually resorting files in libqpdf/CMakeLists.txt
* Manually refilling the comment in QPDF.hh near class Resolver
|
|
On destruction of the QPDF object replace all indirect object references
with direct nulls.
Remove all existing code to release resolved references.
Fixes performance issue due to interaction of resetting QPDFValue::qpdf and
og members and prior code.
|
|
|
|
Now that QPDFObject.hh is out of the public API, we don't really need
QPDFObjAccessor. Also, the function didn't have to be virtual anymore.
|
|
This required moving some newly inlined functions back to the cc file,
but that seems to have had no measurable performance impact.
|
|
destroyed
|
|
|
|
Also, modify QPDFObject::swapWith to update the ObjGens of the swapped
objects.
Modify QPDF::newIndirect and QPDF::updateCache to keep object ObjGens
up to date.
|
|
|
|
|
|
|
|
Add a new obj_cache entry or update an existing entry in place.
|
|
|
|
Also change QPDF::replaceObject and QPDF::swapObjects such that the
QPDFObject assigned to an og in the obj_cache is never replaced; only
QPDFObject::value is updated.
|
|
Centralise casting of QPDFObjects and reduce repeated dereferencing.
|
|
|
|
|
|
|
|
Also, inline method and add optional parameter error_msg.
|
|
Code tidy: remove redundant calls to smart_ptrs get() method
|
|
|
|
For consistency with similar methods, e.g. replaceObject.
|
|
|
|
Also, change test for QPDFObjGen::isIndirect to obj != 0.
Delete comment from commit afd35f9.
|
|
Use 'QPDFObjGen const&' instead of 'int, int' in signature.
|
|
Change method signatures to use QPDFObjGen.
Use QPDFObjGen methods where possible.
Remove redundant QPDF::objGenToIndirect.
|
|
Change method signature to use QPDFObjGen.
|
|
Change method signature to use QPDFObjGen.
|
|
Also, revert inlining of unparse and operator << from commit 4c6640c in
order to avoid exposing QUtil.
|
|
Rather than using object id -1 to mean "don't care", use object ID 0,
and clarify the difference between that use and indication of a direct
object.
|
|
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
|
|
We need to know whether pushInheritedAttributesToPage or getAllPages
have been called when generating JSON output. When reading the JSON
back in, we have to call the same methods so that object numbers will
line up properly.
|
|
|
|
Remove variables obsoleted by commit 4f24617.
|
|
|
|
|
|
|
|
The last offset is irrelevant to not being able to find /Root.
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
(patrepl and cleanpatch are my own utilities)
patrepl s/PointerHolder/std::shared_ptr/g {include,libqpdf}/qpdf/*.hh
patrepl s/PointerHolder/std::shared_ptr/g libqpdf/*.cc
patrepl s/make_pointer_holder/std::make_shared/g libqpdf/*.cc
patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g libqpdf/*.cc
patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh
git restore include/qpdf/PointerHolder.hh
cleanpatch
./format-code
|
|
Add comments to force line breaks, parenthesize function arguments
that are contatenated strings, etc. -- these kinds of changes improve
clang-format's results and also cause emacs cc-mode to match
clang-format. After this type of change, most of the time, when
clang-format and emacs disagree, clang-format is better.
|
|
Run this:
for i in **/*.cc **/*.c **/*.h **/*.hh; do
clang-format < $i >| $i.new && mv $i.new $i
done
|