Class SuccinctIntDirectedGraph.SuccinctGraphIterables

  • All Implemented Interfaces:
    java.io.Serializable, GraphIterables<java.lang.Integer,​java.lang.Integer>
    Enclosing class:
    SuccinctIntDirectedGraph

    private static final class SuccinctIntDirectedGraph.SuccinctGraphIterables
    extends java.lang.Object
    implements GraphIterables<java.lang.Integer,​java.lang.Integer>, java.io.Serializable
    • Constructor Detail

      • SuccinctGraphIterables

        private SuccinctGraphIterables()
    • Method Detail

      • getGraph

        public Graph<java.lang.Integer,​java.lang.Integer> getGraph()
        Description copied from interface: GraphIterables
        Get the underlying graph.
        Specified by:
        getGraph in interface GraphIterables<java.lang.Integer,​java.lang.Integer>
        Returns:
        the underlying graph
      • vertexCount

        public long vertexCount()
        Description copied from interface: GraphIterables
        Return the number of vertices in the graph.
        Specified by:
        vertexCount in interface GraphIterables<java.lang.Integer,​java.lang.Integer>
        Returns:
        the number of vertices
      • edgeCount

        public long edgeCount()
        Description copied from interface: GraphIterables
        Return the number of edges in the graph.
        Specified by:
        edgeCount in interface GraphIterables<java.lang.Integer,​java.lang.Integer>
        Returns:
        the number of edges.
      • edgesOf

        public java.lang.Iterable<java.lang.Integer> edgesOf​(java.lang.Integer source)
        Description copied from interface: GraphIterables
        Returns an iterable view over all edges touching the specified vertex. The returned iterators are live views. If the graph is modified while an iteration is in progress, the results of the iteration are undefined. If no edges are touching the specified vertex, the returned iterators are already exhausted.
        Specified by:
        edgesOf in interface GraphIterables<java.lang.Integer,​java.lang.Integer>
        Parameters:
        source - input vertex
        Returns:
        an iterable view of the vertices contained in this graph
      • incomingEdgesOf

        private java.lang.Iterable<java.lang.Integer> incomingEdgesOf​(int target,
                                                                      boolean skipLoops)
      • incomingEdgesOf

        public java.lang.Iterable<java.lang.Integer> incomingEdgesOf​(java.lang.Integer vertex)
        Description copied from interface: GraphIterables
        Returns an iterable view over all edges incoming into the specified vertex. The returned iterators are live views. If the graph is modified while an iteration is in progress, the results of the iteration are undefined.

        In the case of undirected graphs the returned iterators return all edges touching the vertex, thus, some of the returned edges may have their source and target vertices in the opposite order.

        Specified by:
        incomingEdgesOf in interface GraphIterables<java.lang.Integer,​java.lang.Integer>
        Parameters:
        vertex - input vertex
        Returns:
        an iterable view of all edges incoming into the specified vertex