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 True >>> g.vertices.next() is v False 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 ? George -- http://mail.python.org/mailman/listinfo/python-list