aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDF_Array.cc
AgeCommit message (Collapse)Author
2024-02-16Add new writeJSON methodsm-holger
Create an alternative to getJSON to allow an object handle to be written as JSON without the overhead of creating a JSON object.
2024-02-04Format codeJay Berkenbilt
2024-01-12Fix null pointer issue on array copyJay Berkenbilt
2024-01-10Tune handling of sparse arrays in QPDF_Arraym-holger
Sparse arrays are rare. Dynamically create the variables needed to manage them only when needed.
2023-06-09Code tidy - Clang-Tidy rule modernize-use-emplacem-holger
2023-06-02Code tidy - reflow comments and stringsm-holger
2023-05-21Rerun clang-formatJay Berkenbilt
2023-05-20Use auto when initialializing with newm-holger
2023-04-01Refactor QPDF_Array::unparsem-holger
2023-04-01Refactor QPDF_Array::getJSONm-holger
2023-04-01Remove SparseOHArraym-holger
2023-04-01Refactor QPDF_Array::copym-holger
2023-04-01Refactor QPDF_Array::disconnectm-holger
2023-04-01Refactor QPDF_Array::setFromVectorm-holger
2023-04-01Refactor QPDF_Array::getAsVectorm-holger
2023-04-01Remove SparseOHArray::at, setAt and appendm-holger
2023-04-01Remove SparseOHArray::erasem-holger
2023-04-01Remove SparseOHArray::insertm-holger
2023-04-01Refactor QPDF_Array::setItem and rename to setAtm-holger
2023-04-01Refactor QPDF_Array::eraseItem and rename to erasem-holger
2023-04-01Refactor QPDF_Array::insertItem and rename to insertm-holger
2023-04-01Refactor QPDF_Array::appendItem and rename to push_backm-holger
2023-04-01Add new method QPDFValue::checkOwnershipm-holger
2023-04-01Refactor QPDF_Array::getItem and rename to atm-holger
2023-04-01Inline QPDF_Array::getNItems and rename to sizem-holger
2023-04-01Change SparseOHArray index type to int and elements type to mapm-holger
There are no reasons other than historical to use size_t. On balance, using map is more efficient. Hold shared pointers to QPDFObjects rather than QPDFObjectHandles for consistencey with QPDF_Array.
2023-04-01Remove temporary OHArraym-holger
2023-03-29Remove temporary OHArray::erase, insert and copym-holger
2023-03-29Remove temporary OHArray::disconnect and setAtm-holger
2023-03-29Remove temporary OHArray::atm-holger
2023-03-29Remove temporary OHArray::size, append and remove_lastm-holger
Also, add const overload of QPDFObjectHandle::getObj
2023-03-29Optimize QPDFParser for non-sparse QPDF_Arraysm-holger
Stop using nullptr to represent null objects. Count null array elements and trigger creation of sparse arrays if null count is greater than 100.
2023-03-29Change underlying data structure of QPDF_Array in non-sparse mode to std::vectorm-holger
2023-03-29Add separate sparse mode to QPDF_Arraym-holger
Add temporary clone of SparseOHArray to implement non-sparse mode.
2023-03-29Remove redundant QPDF_Array::addExplicitElementsToListm-holger
2022-12-31Avoid inserting direct null objects into olistm-holger
2022-12-31Change olist variable in QPDFParser::parse to vector<shared_ptr<QPDFObject>>m-holger
2022-11-20Refactor QPDFObjectHandle::copyObject1m-holger
2022-11-20Rename QPDFObject::shallowCopy to copym-holger
Add optional parameter shallow. Change logic errors to runtime errors.
2022-09-08Rename QPDFValueProxy back to QPDFObjectJay Berkenbilt
QPDFValueProxy wasn't a good name for it. We decided the evil of having the header file be named QPDFObject_private.hh was less than the evil of having the class be named something other than what it should have been named.
2022-09-08Change reset to disconnect and clarify commentsJay Berkenbilt
I decided that it's actually fine to copy a direct object to another QPDF. Even if we eventually prevent a QPDFObject from having multiple parents, this could happen if an object is moved.
2022-09-08Clear owning QPDF information for all objects, not just indirectJay Berkenbilt
2022-09-06Rename QPDFObject -> QPDFValueProxyJay Berkenbilt
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
2022-09-04Fix commit 805c1ad : Reset QPDFValue::qpdf and QPDFValue::og when ...m-holger
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.
2022-09-01Remove virtual methods QPDFValue::getTypeCode and getTypeNamem-holger
2022-09-01Split QPDFObject into QPDFObject and QPDFValuem-holger
2022-06-27Refactor QPDFObject creation and cloningm-holger
Move responsibility for creating shared pointers to objects and cloning from QPDFObjectHandle to QPDFObject.
2022-06-25Remove redundant QPDF_Array::setDescription and QPDF_Dictionary::setDescriptionm-holger
2022-05-07Prepare code for JSON v2Jay Berkenbilt
Update getJSON() methods and calls to them
2022-04-30Code clean up: use range-style for loops wherever possibleJay Berkenbilt
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. :-)