The graph object to traverse.
The vertex to serve as the starting point.
The colour map used to control the expansion of edges and verices in the graph.
A visitor object that will be notified of various events during the traversal.
The queue object used to order the expansion of vertices.