Working on #2399 found different weight types
unsigned
std::int32_t
|
const std::int32_t weight = forward_heap.GetKey(node); |
int
|
const int source_weight = query_heap.GetKey(node); |
PR #2399 unifies weight types as EdgeWeight but compile-time type checking is required to check all places.
It would also good to define strongly typed EdgeDuration, TurnWeight and TurnDuration to have compile-type checks and avoid problems by mixing edge/turn weights and durations.
Working on #2399 found different weight types
unsignedosrm-backend/include/contractor/contractor_graph.hpp
Line 29 in a5d0707
std::int32_tosrm-backend/src/engine/routing_algorithms/routing_base.cpp
Line 23 in a5d0707
intosrm-backend/src/engine/routing_algorithms/many_to_many.cpp
Line 131 in a5d0707
PR #2399 unifies weight types as
EdgeWeightbut compile-time type checking is required to check all places.It would also good to define strongly typed
EdgeDuration,TurnWeightandTurnDurationto have compile-type checks and avoid problems by mixing edge/turn weights and durations.