Ticket #10708: add_vertex.patch
File add_vertex.patch, 2.2 KB (added by , 8 years ago) |
---|
-
subgraph.hpp.
old new 144 144 typename subgraph<Graph>::children_iterator i,i_end; 145 145 boost::tie(i,i_end) = x.children(); 146 146 for(; i != i_end; ++i) 147 { 147 { 148 148 subgraph<Graph> child = this->create_subgraph(); 149 149 child = *i; 150 vertex_iterator vi,vi_end; 150 vertex_iterator vi,vi_end; 151 151 boost::tie(vi,vi_end) = vertices(*i); 152 for (;vi!=vi_end;++vi) 152 for (;vi!=vi_end;++vi) 153 153 { 154 154 add_vertex(*vi,child); 155 155 } … … 721 721 namespace detail { 722 722 template <typename G> 723 723 typename subgraph<G>::vertex_descriptor 724 add_vertex_recur_up(subgraph<G>& g) 724 add_vertex_recur_up(const typename G::vertex_property_type& p, 725 subgraph<G>& g) 725 726 { 726 727 typename subgraph<G>::vertex_descriptor u_local, u_global; 727 728 if (g.is_root()) { 728 u_global = add_vertex( g.m_graph);729 u_global = add_vertex(p, g.m_graph); 729 730 g.m_global_vertex.push_back(u_global); 730 731 } else { 731 u_global = add_vertex_recur_up( *g.m_parent);732 u_global = add_vertex_recur_up(p, *g.m_parent); 732 733 u_local = add_vertex(g.m_graph); 733 734 g.m_global_vertex.push_back(u_global); 734 735 g.m_local_vertex[u_global] = u_local; … … 747 748 g.m_global_vertex.push_back(u_global); 748 749 u_local = u_global; 749 750 } else { 750 u_global = detail::add_vertex_recur_up( g.parent());751 u_global = detail::add_vertex_recur_up(typename G::vertex_property_type(), g.parent()); 751 752 u_local = add_vertex(g.m_graph); 752 753 g.m_global_vertex.push_back(u_global); 753 754 g.m_local_vertex[u_global] = u_local; … … 755 756 return u_local; 756 757 } 757 758 759 template <typename G> 760 typename subgraph<G>::vertex_descriptor 761 add_vertex(const typename G::vertex_property_type& p, subgraph<G>& g) 762 { 763 typename subgraph<G>::vertex_descriptor u_local, u_global; 764 765 u_global = detail::add_vertex_recur_up(p, g); 766 u_local = g.global_to_local(u_global); 767 768 return u_local; 769 } 770 758 771 759 772 #if 0 760 773 // TODO: Under Construction