-
…df::Dictionary`, update constructors, and streamline logic with `Dictionary` API.
-
…simplify iteration logic, update to use `Dictionary` API, and streamline error checks.
-
…with subscript operator, simplify logic, and improve error checks.
-
…h subscript operator, streamline `repair` with `Dictionary` initializer, and remove redundant semicolon.
-
…access, and streamline logic.
-
…y` with subscript operator, and simplify logic.
-
…`getKey` with subscript operator, and simplify logic.
-
…ictionary` APIs, replace `getKey` with subscript operator, streamline logic, and simplify bounds checks.
-
- Added `Array::empty()` as a static method for creating empty arrays. - Removed unused `Array(bool empty)` constructor and defaulted `Array` constructor. - Updated `NNTree` methods to use `Array::empty()` for clarity and consistency.
-
…s and `Members` structure - Simplified `Members` implementation by inlining into `NNTree` context. - Replaced `std::shared_ptr<Members>` with `std::make_shared` for improved clarity and usage consistency. - Updated method calls to directly access `Members`' `impl`. - Improved maintainability and alignment with modern C++ practices.
-
…idate into `NNTree` implementation - Merged `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` into `NNTree` source for simplification. - Adjusted `CMakeLists.txt` and headers to reflect changes.
-
- Marked `NNTreeIterator` and `NNTreeImpl` as `final` to prevent inheritance. - Inlined `NNTreeIterator` and `NNTreeImpl` methods to streamline code and reduce redundancy. - Updated constructors, operators, and utility functions in `NNTreeIterator` and `NNTreeImpl` for improved readability and maintainability.
-
- Added `const` qualifiers to member functions and parameters where applicable. - Replaced `QPDFObjectHandle` arrays with `qpdf::Array` for improved type clarity. - Simplified logic in `compareKeyItem` and `compareKeyKid` by removing redundant checks.
-
- Simplified the code by directly handling limits validation in `compareKeyKid`. - Improved clarity by reducing unnecessary method indirection.
-
- Removed `NNTreeDetails` and moved key validation logic directly into `NNTreeImpl`. - Replaced type determination with `qpdf_object_type_e` for improved clarity. - Updated `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` to align with the new `NNTreeImpl` structure. - Simplified methods accessing tree items and validating keys.
-
- Introduced a `validate()` method in `QPDFNameTreeObjectHelper`, `QPDFNumberTreeObjectHelper`, and `NNTreeImpl`. - Ensure proper validation of tree keys and values, detecting invalid entries, unsorted keys, and inconsistencies. - Added support for auto-repair in case of validation errors.
-
- Introduced `std::function<bool(QPDFObjectHandle const&)>` to validate tree values. - Updated constructors and methods across `QPDFNameTreeObjectHelper` and `QPDFNumberTreeObjectHelper` to support value validation. - Refactored `NNTreeImpl` to check for invalid values during insertion, iteration, and retrieval. - Improved error handling and reporting for invalid values.
-
Fixes bug in #1523
-
Fixes bug in #1523
-
…tem` with `size` and subscript operators, simplify logic, and improve error handling.
-
…ems` and `getArrayItem` with `size` and subscript operators, and improve code readability.
-
…ms` and `getArrayItem` with `size` and subscript operators, remove redundant debug traces, and improve readability.
-
…em` with `size` and subscript operators, remove redundant debug traces, simplify loop logic, and improve readability.
-
…` and subscript operators, remove redundant debug traces, and improve code readability.
-
…eplace `getArrayNItems` with `size`, and improve error handling logic.
-
…Items` with subscript operators, introduce `std::cmp` utilities, and remove redundant debug traces.
-
…logic, and replace redundant code with subscript operators.
-
…lify `withinLimits` logic, and improve code readability with subscript operators.
-
…` and `getArrayNItems` with subscript operators for readability and cleaner syntax.
-
…edundant debug traces.
-
…and improve `findInternal` readability.
-
…dding error counting and leveraging `reconstructed_xref` for improved robustness, limiting the acceptable number of errors for damaged files.
-
…cess for consistency and readability.
-
Refactored several classes to use C++11 `final` specifiers for inheritance restrictions and added default member initializations. These changes enhance code clarity, improve safety, and ensure modern coding practices.