-
… checking, and align with `Array` API conventions.
-
…prove bounds checking
-
…y, modify bounds checks, and adjust affected tests.
-
… to use subscript operators, and simplify object access logic.
-
…hecks with `Array` subscript operator, simplify logic, and improve null handling.
-
…rray`, use subscript operators, simplify logic, and improve readability.
-
…s`, remove redundant trace, and improve null handling.
-
…move redundant trace, and improve readability.
-
…reamline object assignment, and introduce constructors for `QPDFObjectHandle`.
-
Implement subscript operators (`operator[]`) to provide indexed access to `QPDFObjectHandle` for both `size_t` and `int` types.
-
Refactor array handling in `QPDFObjectHandle`: replace `int` with `size_t` for size and index operations, introduce utility functions for type conversions, and simplify sparse array logic.
-
Move all array-specific methods to new class qpdf::Array.
-
Change the return type to a std::pair<bool, QPDFObjectHandle> in order to allow a default constructed object handle (which is currently returned to indicate failure) to become a valid object.
-
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.