diff options
author | Jay Berkenbilt <ejb@ql.org> | 2019-08-30 18:41:25 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2019-08-30 18:41:25 +0200 |
commit | bde44c18ef3d6302dae723e6ef431f87e5764ec9 (patch) | |
tree | 8dfef22713f3dc333029deab1bc6a3d86e98056d /TODO | |
parent | 8c69f8495de1791decff3ae37f1da2383415c144 (diff) | |
download | qpdf-bde44c18ef3d6302dae723e6ef431f87e5764ec9.tar.zst |
Notes about C++-11 for qpdf 10
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -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 ======= |