
I don't think you need an adaptor. You can have the edge weight as a member in the property bundle and then use boost::get(&EdgeProps::weight, g) to get a property map for it. Is there something else you might need to adapt?
Yes this is what I call 'adapt'. If the edge type was only weight, e.g.: typedef boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, std::string, int> Graph; then Dijkstra becomes something like: boost::dijkstra_shortest_paths(graph, vA, boost::weight_map(boost::get (boost::edge_bundle, graph)).vertex_index_map(pmVertexIndex).distance_map (pmDistance).predecessor_map(pmPredecessor));