Commit bde44c18ef3d6302dae723e6ef431f87e5764ec9

Authored by Jay Berkenbilt
1 parent 8c69f849

Notes about C++-11 for qpdf 10

Showing 1 changed file with 30 additions and 0 deletions
... ... @@ -8,6 +8,36 @@ Fuzz Errors
8 8 * Timeout in xref reconstruction (won't fix): 15659
9 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 41 Lexical
12 42 =======
13 43  
... ...