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,39 +150,12 @@ Other notes: | ||
| 150 | way that works for the qpdf/qpdf repository as well since they are | 150 | way that works for the qpdf/qpdf repository as well since they are |
| 151 | very similar. | 151 | very similar. |
| 152 | 152 | ||
| 153 | - | ||
| 154 | ABI Changes | 153 | ABI Changes |
| 155 | =========== | 154 | =========== |
| 156 | 155 | ||
| 157 | This is a list of changes to make next time there is an ABI change. | 156 | This is a list of changes to make next time there is an ABI change. |
| 158 | Comments appear in the code prefixed by "ABI" | 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 | Page splitting/merging | 159 | Page splitting/merging |
| 187 | ====================== | 160 | ====================== |
| 188 | 161 |