
Hello. I've written a graphml reader/writer for BGL, based on the code Douglas Gregor posted on the boost users list at http://article.gmane.org/gmane.comp.lib.boost.user/17877/, and I'm sending it attached. It has the following additional features: * support for attributes of different types (int, float, etc.) * understand the following parse info attributes: parse.nodeids and parse.edgeids. If nodeids or edgeids are canonical, they are automatically converted into indexes, and there's no need to keep a name map, which saves memory for large graphs. If there's interest in having this in the library, I would gladly write documentation for it, and make the necessary modifications/adjustments. Notes: * The code uses some exceptions from the graphviz code. It just seemed unnecessary for both codes to return different exceptions. But this is is trivially changeable. * The code depends on expat. And also, when reading some invalid files, it sometimes just hangs. This is due, probably, with not setting up expat properly to return errors. I would also look into this. BTW, this was written for the graph-tool project, if anyone is interested: http://graph-tool.forked.de Thanks. -- Tiago de Paula Peixoto <tiago@forked.de>