Commit bde44c18ef3d6302dae723e6ef431f87e5764ec9
1 parent
8c69f849
Notes about C++-11 for qpdf 10
Showing
1 changed file
with
30 additions
and
0 deletions
TODO
| @@ -8,6 +8,36 @@ Fuzz Errors | @@ -8,6 +8,36 @@ Fuzz Errors | ||
| 8 | * Timeout in xref reconstruction (won't fix): 15659 | 8 | * Timeout in xref reconstruction (won't fix): 15659 |
| 9 | * Out of memory: 15730 | 9 | * Out of memory: 15730 |
| 10 | 10 | ||
| 11 | +C++-11 (for qpdf 10) | ||
| 12 | +==================== | ||
| 13 | + | ||
| 14 | +* Consider requiring C++-11 for qpdf 10. | ||
| 15 | + | ||
| 16 | +* My c++11 branch adds autoconf tests to require C++-11 and | ||
| 17 | + re-implements PointerHolder so that it is interchangeable with | ||
| 18 | + std::shared_ptr. Once this is in master, it will be possible to | ||
| 19 | + globally replace PointerHolder with std::shared_ptr. This will break | ||
| 20 | + binary compatibility, but if people want source compatibility, they | ||
| 21 | + just have to explicitly include qpdf/PointerHolder.hh. We should | ||
| 22 | + actually look at every use of PointerHolder to see which ones need | ||
| 23 | + to be std::shared_ptr and which ones can be std::unique_ptr. For | ||
| 24 | + source compatibility, all uses of PointerHolder in the API should be | ||
| 25 | + changed to std::shared_ptr, though most likely they have to be that | ||
| 26 | + anyway since std::unique_ptr is not copiable. | ||
| 27 | + | ||
| 28 | +* QIntC.hh could be simplified with type_traits. | ||
| 29 | + | ||
| 30 | +* Search for ::iterator and ::const_iterator and replace with either | ||
| 31 | + auto or foreach-style iteration. | ||
| 32 | + | ||
| 33 | +* There may be some places where std::function and lambdas can | ||
| 34 | + simplify handlers rather than using classes with apply methods. | ||
| 35 | + | ||
| 36 | +* Find places where we declare but don't define copy and assignment | ||
| 37 | + and replace with deleted methods to move errors from link to compile | ||
| 38 | + time. | ||
| 39 | + | ||
| 40 | + | ||
| 11 | Lexical | 41 | Lexical |
| 12 | ======= | 42 | ======= |
| 13 | 43 |