Implementation of the Bidirectional Dijktra's algorithm to solve shortest-path problems on any weighted directed graph.
Read over graph/Graph.h to understand the requirements for your graph. Derive a subclass from Graph and override the pure virtual functions.
For an example, take a look at graph/WeightedDirectedGraph.h and graph/test_weighteddirectedgraph.cpp. Run make to test it out.
Change/update graph/Makefile if necessary.