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 |