An implementation of Dijkstra's shortest path algorithm in C++