
Strange... One last attempt, this time posting through the Yahoo Groups interface and not directly to gmane.comp.lib.boost.user... Sorry - my previous post got cut in half somewhere in transit. This is a reposting: What determines when boost::get(Graph, vertex_myproperty_t) returns a boost::property_map<graph_t, vertex_myproperty>::type vs. a ::const_type? Suppose: enum vertex_myproperty_t { vertex_myproperty = 12345}; BOOST_INSTALL_PROPERTY(vertex,myproperty); typedef property<vertex_myproperty_t, MyPropertyObject, ....> vertex_properties_t; typedef adjacency_list<vecS,vecS,bidirectionalS, vertex_properties_t> graph_t; typedef property_map<graph_t, vertex_myproperty_t>::type vertex_myproperty_map_t; graph_t Graph; vertex_myproperty_map_t MyMap = get(vertex_myproperty, Graph); ^--- this works as I expected. However, if I try to get a copy of my property map this way inside a dfs visitor method, my compiler tells me that there's no suitable conversion from property_map<graph_t, vertex_myproperty_t>::const_type to property_map<graph_t, vertex_myproperty_t>::type (IA32 6.0 Intel compiler). For performance reasons, I should probably just pass a reference the visitor on construction and be done with it for the duration of the algorithm. But why is the compiler hassling me on this? What am I missing? Thanks - Chris