Commit b3cb16c
authored
Surface_mesh: remove obsolete g++4.4 workaround from SM_Halfedge_index (#9348)
Fixes #9319
#### Problem
`pybind11::detail::is_move_constructible<CGAL::SM_Halfedge_index>`
evaluates
to `false` while `std::move_constructible<CGAL::SM_Halfedge_index>`
correctly
evaluates to `true`. This inconsistency prevents pybind11-based Python
bindings
from properly wrapping types that hold or use `SM_Halfedge_index`.
#### Root Cause
`SM_Halfedge_index` contained five `typedef void` members
(`iterator_category`, `value_type`, `difference_type`, `pointer`,
`reference`)
added as a workaround for a g++ 4.4 ADL bug for `std::next`. pybind11
inspects `value_type` via legacy iterator_traits and, finding `void`,
concludes
the type is not a proper value type and marks it as not
move-constructible.
#### Fix
CGAL 6.0 raised the minimum GCC requirement to 11.4, making the g++ 4.4
workaround unnecessary. Remove the five `typedef void` members and their
explanatory comment. No code in the CGAL codebase references these
typedefs.1 file changed
+0
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
162 | 162 | | |
163 | 163 | | |
164 | 164 | | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | 165 | | |
175 | 166 | | |
176 | 167 | | |
| |||
0 commit comments