Class Graph6Sparse6EventDrivenImporter

  • All Implemented Interfaces:
    EventDrivenImporter<java.lang.Integer,​org.jgrapht.alg.util.Pair<java.lang.Integer,​java.lang.Integer>>

    public class Graph6Sparse6EventDrivenImporter
    extends BaseEventDrivenImporter<java.lang.Integer,​org.jgrapht.alg.util.Pair<java.lang.Integer,​java.lang.Integer>>
    implements EventDrivenImporter<java.lang.Integer,​org.jgrapht.alg.util.Pair<java.lang.Integer,​java.lang.Integer>>
    Importer which reads graphs in graph6 or sparse6 format.

    A description of the format can be found here. graph6 and sparse6 are formats for storing undirected graphs in a compact manner, using only printable ASCII characters. Files in these formats have text format and contain one line per graph. graph6 is suitable for small graphs, or large dense graphs. sparse6 is more space-efficient for large sparse graphs. Typically, files storing graph6 graphs have the 'g6' extension. Similarly, files storing sparse6 graphs have a 's6' file extension. sparse6 graphs support loops and multiple edges, graph6 graphs do not.

    Note that a g6/s6 string may contain backslashes '\'. Thus, escaping is required. E.g.

     ":?@MnDA\oi"
     
    may result in undefined behavior. This should have been:
     ":?@MnDA\\oi"
     
    Author:
    Joris Kinable
    • Constructor Detail

      • Graph6Sparse6EventDrivenImporter

        public Graph6Sparse6EventDrivenImporter()
        Construct a new importer
    • Method Detail

      • importInput

        public void importInput​(java.io.Reader input)
                         throws ImportException
        Description copied from interface: EventDrivenImporter
        Import a graph
        Specified by:
        importInput in interface EventDrivenImporter<java.lang.Integer,​org.jgrapht.alg.util.Pair<java.lang.Integer,​java.lang.Integer>>
        Parameters:
        input - the input reader
        Throws:
        ImportException - in case any error occurs, such as I/O or parse error