mirror of
https://github.com/qpdf/qpdf.git
synced 2025-02-02 11:58:25 +00:00
Remove C++-11 notes from TODO
This commit is contained in:
parent
24f62e38a7
commit
54759cbf63
27
TODO
27
TODO
@ -150,39 +150,12 @@ Other notes:
|
|||||||
way that works for the qpdf/qpdf repository as well since they are
|
way that works for the qpdf/qpdf repository as well since they are
|
||||||
very similar.
|
very similar.
|
||||||
|
|
||||||
|
|
||||||
ABI Changes
|
ABI Changes
|
||||||
===========
|
===========
|
||||||
|
|
||||||
This is a list of changes to make next time there is an ABI change.
|
This is a list of changes to make next time there is an ABI change.
|
||||||
Comments appear in the code prefixed by "ABI"
|
Comments appear in the code prefixed by "ABI"
|
||||||
|
|
||||||
C++-11
|
|
||||||
======
|
|
||||||
|
|
||||||
* Search for ::iterator and ::const_iterator and replace with either
|
|
||||||
auto or foreach-style iteration.
|
|
||||||
|
|
||||||
* There may be some places where std::function and lambdas can
|
|
||||||
simplify handlers rather than using classes with apply methods.
|
|
||||||
|
|
||||||
* My c++11 branch adds re-implements PointerHolder so that it is
|
|
||||||
interchangeable with std::shared_ptr. We may not actually want to
|
|
||||||
ever do this because it turns out PointerHolder is slightly more
|
|
||||||
performant than std::shared_ptr, at least as of g++ 9.2.1. It is not
|
|
||||||
actually possible to just replace PointerHolder with std::shared_ptr
|
|
||||||
for two reasons: there is no automatic creation of
|
|
||||||
std::shared_ptr<T> from T* like there is for PointerHolder, which
|
|
||||||
breaks some code, and also there is no automatic conversion from
|
|
||||||
something like std::vector<PointerHolder<T>> to
|
|
||||||
std::vector<std::shared_ptr<T>>. It may be a good idea to replace
|
|
||||||
PointerHolder with std::shared_ptr in the API even if it requires
|
|
||||||
some work for the developer, but even if that isn't worth it, we
|
|
||||||
should find all occurrences of PointerHolder within the code and
|
|
||||||
replace with std::shared_ptr or std::unique_ptr as needed. This will
|
|
||||||
definitely break binary compatibility as the PointerHolder<Members>
|
|
||||||
pattern is part of the ABI for almost every class.
|
|
||||||
|
|
||||||
Page splitting/merging
|
Page splitting/merging
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user