• Tiago Peixoto's avatar
    Port graph I/O to new filtering engine, enable graph pickling, and fix several issues · 99bf21c8
    Tiago Peixoto authored
    Now graphml files properly contain all the supported value types, which
    are all perfectly preserved when read (floating point data is now saved
    in hexadecimal format). Several other improvements were made, such as
    the ability to read and write to python file-like objects.
    It is also now possible to have arbitrary python object properties, and
    store them persistently (which is done internally with the pickling
    vector<bool> was totally abolished, since its implementation is quite
    broken. See: http://www.gotw.ca/publications/N1211.pdf and
    http://www.gotw.ca/publications/N1185.pdf Now a uint8_t (aka. char) is
    used in graph properties instead of a bool.
    Graph types can now be fully pickled (this may not be feasible
    memory-wise if the graph is too large, since the whole XML
    representation is dumped to a string before it is saved on disc).