Modify

Ticket #2550 (closed Bugs: fixed)

Opened 5 years ago

Last modified 5 years ago

remove_edge may invalidate number of edges

Reported by: Moritz Beber <moritz.beber@…> Owned by: dgregor
Milestone: Boost 1.38.0 Component: graph
Version: Boost 1.37.0 Severity: Problem
Keywords: remove edge Cc:

Description

I already posted about this problem on the mailing list, but was asked to file the problem here.

Using an adjacency_matrix and trying to remove an edge that doesn't exist in the graph invalidates the number of edges. The code in the header shows this:

template <typename D, typename VP, typename EP, typename GP, typename A> void remove_edge(typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor u, typename adjacency_matrix<D,VP,EP,GP,A>::vertex_descriptor v, adjacency_matrix<D,VP,EP,GP,A>& g) {

--(g.m_num_edges); detail::set_edge_exists(g.get_edge(u,v), false, 0);

}

The counter is decrement in either case. Cheers.

Attachments

Change History

comment:1 Changed 5 years ago by asutton

  • Status changed from new to closed
  • Resolution set to fixed

Fixed (r50191).

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.