Purging vertices after filter


I have a question about purging. After filtering out certain vertices using
set_vertex_filter, I want to remove all filter vertices. However, after
removing them by calling the purge_vertices function, the property maps for
the vertices doesn't seem to line up anymore. For example:

Initial Graph: with vertex and property map

Vertex Property Map
V1: 1 Filtered
V2: 2 Filtered
V3: 3 Not Filtered
V4: 4 Not Filtered

After calling purge I see

Vertex Property Map
V3: 1
V4: 2

This is not correct because V3's mapping is 3 and not 1. Is there a simple
fix to this issue or a suitable workaround without having to go back and
relabel all the property maps. Thanks.

Indeed, I had not noticed this problem with purging. I've fixed this now
in the git version.

Thanks for pointing this out.


I have gotten the updated code and compiled it. However, I'm getting an error
with the src in the file graph_properties.cc

  CXX graph.lo
  CXX graph_bind.lo
  CXX graph_copy.lo
  CXX graph_filtering.lo
  CXX graph_io.lo
  CXX graph_properties.lo
graph_properties.cc: In function ‘void
edge_difference(graph_tool::GraphInterface&, boost::any, boost::any)’:
graph_properties.cc:224: error: using ‘typename’ outside of template
make[4]: *** [graph_properties.lo] Error 1