[Boost.Graph] graph.vertices property creates new objects

George Sakkis george.sakkis at gmail.com
Mon Jan 29 19:36:38 CET 2007

I've just started toying with the python bindings of BGL and I'm 
puzzled from the following:

>>> from boost.graph import Graph
>>> g = Graph()
>>> v = g.add_vertex()
>>> g.vertices.next() == v
>>> g.vertices.next() is v

It seems that the vertices iterator creates new vertex objects every 
time instead of iterating over the existing ones. This essentially 
prevents, among other things, storing vertices as keys in a dictionary 
since the hashes of the stored and the new vertex differ although they 
compare equal. Is this really what's happening, and if so, why ?


More information about the Python-list mailing list