2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-02 02:10:52 +00:00

Notes about C++-11 for qpdf 10

This commit is contained in:
Jay Berkenbilt 2019-08-30 12:41:25 -04:00
parent 8c69f8495d
commit bde44c18ef

30
TODO
View File

@ -8,6 +8,36 @@ Fuzz Errors
* Timeout in xref reconstruction (won't fix): 15659
* Out of memory: 15730
C++-11 (for qpdf 10)
====================
* Consider requiring C++-11 for qpdf 10.
* My c++11 branch adds autoconf tests to require C++-11 and
re-implements PointerHolder so that it is interchangeable with
std::shared_ptr. Once this is in master, it will be possible to
globally replace PointerHolder with std::shared_ptr. This will break
binary compatibility, but if people want source compatibility, they
just have to explicitly include qpdf/PointerHolder.hh. We should
actually look at every use of PointerHolder to see which ones need
to be std::shared_ptr and which ones can be std::unique_ptr. For
source compatibility, all uses of PointerHolder in the API should be
changed to std::shared_ptr, though most likely they have to be that
anyway since std::unique_ptr is not copiable.
* QIntC.hh could be simplified with type_traits.
* 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.
* Find places where we declare but don't define copy and assignment
and replace with deleted methods to move errors from link to compile
time.
Lexical
=======