-
Create an alternative to getJSON to allow an object handle to be written as JSON without the overhead of creating a JSON object.
-
Sparse arrays are rare. Dynamically create the variables needed to manage them only when needed.
-
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.
-
Also, add const overload of QPDFObjectHandle::getObj
-
Stop using nullptr to represent null objects. Count null array elements and trigger creation of sparse arrays if null count is greater than 100.
-
Add temporary clone of SparseOHArray to implement non-sparse mode.
-
Add optional parameter shallow. Change logic errors to runtime errors.