As part of graph contraction, node renumbering leads to in-place permuting of graph state, including boolean vector elements. std::vector<bool> returns proxy objects when referencing individual bits. To correctly swap bool elements using MSVC, we need to explicitly apply std::vector<bool>::swap. Making this change fixes osrm-contract on Windows. We also correct failing tests and other undefined behaviours (mainly iterator access outside boundaries) highlighted by MSVC. |
||
|---|---|---|
| .. | ||
| contractor | ||
| customizer | ||
| engine | ||
| extractor | ||
| guidance | ||
| nodejs | ||
| osrm | ||
| partitioner | ||
| server | ||
| storage | ||
| updater | ||
| util | ||