Index: reverse_graph.hpp =================================================================== --- reverse_graph.hpp (revision 76094) +++ reverse_graph.hpp (working copy) @@ -124,7 +124,7 @@ typedef transform_iterator, typename Traits::out_edge_iterator> in_edge_iterator; // AdjacencyGraph requirements - typedef typename adjacency_iterator_generator::type adjacency_iterator; // VertexListGraph requirements @@ -149,7 +149,7 @@ typename detail::get_underlying_descriptor_from_reverse_descriptor::type >::type& operator[](Descriptor x) - { return detail::get_underlying_descriptor_from_reverse_descriptor::convert(m_g[x]); } + { return m_g[detail::get_underlying_descriptor_from_reverse_descriptor::convert(x)]; } template typename graph::detail::bundled_result< @@ -157,7 +157,7 @@ typename detail::get_underlying_descriptor_from_reverse_descriptor::type >::type const& operator[](Descriptor x) const - { return detail::get_underlying_descriptor_from_reverse_descriptor::convert(m_g[x]); } + { return m_g[detail::get_underlying_descriptor_from_reverse_descriptor::convert(x)]; } #endif // BOOST_GRAPH_NO_BUNDLED_PROPERTIES static vertex_descriptor null_vertex() @@ -340,6 +340,7 @@ typedef typename property_traits::category category; explicit reverse_graph_edge_property_map(const PM& pm): underlying_pm(pm) {} + reverse_graph_edge_property_map() {} friend reference get(const reverse_graph_edge_property_map& m, @@ -357,6 +358,10 @@ reference operator[](const key_type& k) { return (this->underlying_pm)[k.underlying_descx]; } + + const reference operator[](const key_type& k) const { + return (this->underlying_pm)[k.underlying_descx]; + } }; struct reverse_graph_vertex_property_selector {