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. |
||
|---|---|---|
| .. | ||
| base_parameters_grammar.hpp | ||
| match_parameter_grammar.hpp | ||
| nearest_parameter_grammar.hpp | ||
| parameters_parser.hpp | ||
| parsed_url.hpp | ||
| route_parameters_grammar.hpp | ||
| table_parameter_grammar.hpp | ||
| tile_parameter_grammar.hpp | ||
| trip_parameter_grammar.hpp | ||
| url_parser.hpp | ||