Commit 54759cbf6399e53b421c4dbe3d3fc0cb1d655573
1 parent
24f62e38
Remove C++-11 notes from TODO
Showing
1 changed file
with
0 additions
and
27 deletions
TODO
| ... | ... | @@ -150,39 +150,12 @@ Other notes: |
| 150 | 150 | way that works for the qpdf/qpdf repository as well since they are |
| 151 | 151 | very similar. |
| 152 | 152 | |
| 153 | - | |
| 154 | 153 | ABI Changes |
| 155 | 154 | =========== |
| 156 | 155 | |
| 157 | 156 | This is a list of changes to make next time there is an ABI change. |
| 158 | 157 | Comments appear in the code prefixed by "ABI" |
| 159 | 158 | |
| 160 | -C++-11 | |
| 161 | -====== | |
| 162 | - | |
| 163 | -* Search for ::iterator and ::const_iterator and replace with either | |
| 164 | - auto or foreach-style iteration. | |
| 165 | - | |
| 166 | -* There may be some places where std::function and lambdas can | |
| 167 | - simplify handlers rather than using classes with apply methods. | |
| 168 | - | |
| 169 | -* My c++11 branch adds re-implements PointerHolder so that it is | |
| 170 | - interchangeable with std::shared_ptr. We may not actually want to | |
| 171 | - ever do this because it turns out PointerHolder is slightly more | |
| 172 | - performant than std::shared_ptr, at least as of g++ 9.2.1. It is not | |
| 173 | - actually possible to just replace PointerHolder with std::shared_ptr | |
| 174 | - for two reasons: there is no automatic creation of | |
| 175 | - std::shared_ptr<T> from T* like there is for PointerHolder, which | |
| 176 | - breaks some code, and also there is no automatic conversion from | |
| 177 | - something like std::vector<PointerHolder<T>> to | |
| 178 | - std::vector<std::shared_ptr<T>>. It may be a good idea to replace | |
| 179 | - PointerHolder with std::shared_ptr in the API even if it requires | |
| 180 | - some work for the developer, but even if that isn't worth it, we | |
| 181 | - should find all occurrences of PointerHolder within the code and | |
| 182 | - replace with std::shared_ptr or std::unique_ptr as needed. This will | |
| 183 | - definitely break binary compatibility as the PointerHolder<Members> | |
| 184 | - pattern is part of the ABI for almost every class. | |
| 185 | - | |
| 186 | 159 | Page splitting/merging |
| 187 | 160 | ====================== |
| 188 | 161 | ... | ... |