public int getSuccNodeCount(int number) { return successors.getRelatedCount(number); }
public int getSuccNodeCount(int number) { return successors.getRelatedCount(number); }
public int getSuccNodeCount(int number) { return successors.getRelatedCount(number); }
@Override public int getPredNodeCount(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number < 0) { throw new IllegalArgumentException(N + " is not in graph"); } return predecessors.getRelatedCount(number); }
@Override public int getPredNodeCount(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number < 0) { throw new IllegalArgumentException(N + " is not in graph"); } return predecessors.getRelatedCount(number); }
@Override public int getPredNodeCount(CGNode N) { ExplicitNode n = (ExplicitNode) N; int y = getNumber(n); return predecessors.getRelatedCount(y); }
@Override public int getPredNodeCount(CGNode N) { ExplicitNode n = (ExplicitNode) N; int y = getNumber(n); return predecessors.getRelatedCount(y); }
@Override public int getPredNodeCount(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number < 0) { throw new IllegalArgumentException(N + " is not in graph"); } return predecessors.getRelatedCount(number); }
@Override public void removeEdge(T src, T dst) throws IllegalArgumentException { final int srcNumber = nodeManager.getNumber(src); final int dstNumber = nodeManager.getNumber(dst); if (srcNumber < 0) { throw new IllegalArgumentException("src not in graph: " + src); } if (dstNumber < 0) { throw new IllegalArgumentException("dst not in graph: " + dst); } successors.remove(srcNumber, dstNumber); if (successors.getRelatedCount(srcNumber) == 0) { hasSuccessor.clear(srcNumber); } predecessors.remove(dstNumber, srcNumber); }
@Override public void removeEdge(T src, T dst) throws IllegalArgumentException { final int srcNumber = nodeManager.getNumber(src); final int dstNumber = nodeManager.getNumber(dst); if (srcNumber < 0) { throw new IllegalArgumentException("src not in graph: " + src); } if (dstNumber < 0) { throw new IllegalArgumentException("dst not in graph: " + dst); } successors.remove(srcNumber, dstNumber); if (successors.getRelatedCount(srcNumber) == 0) { hasSuccessor.clear(srcNumber); } predecessors.remove(dstNumber, srcNumber); }
@Override public void removeEdge(T src, T dst) throws IllegalArgumentException { final int srcNumber = nodeManager.getNumber(src); final int dstNumber = nodeManager.getNumber(dst); if (srcNumber < 0) { throw new IllegalArgumentException("src not in graph: " + src); } if (dstNumber < 0) { throw new IllegalArgumentException("dst not in graph: " + dst); } successors.remove(srcNumber, dstNumber); if (successors.getRelatedCount(srcNumber) == 0) { hasSuccessor.clear(srcNumber); } predecessors.remove(dstNumber, srcNumber); }
@Override public void removeIncomingEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } predecessors.removeAll(number); }
@Override public void removeIncomingEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } predecessors.removeAll(number); }
@Override public void removeIncomingEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } predecessors.removeAll(number); }
@Override public void removeAllIncidentEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet succ = successors.getRelated(number); if (succ != null) { succ.foreach(x -> predecessors.remove(x, number)); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } successors.removeAll(number); hasSuccessor.clear(number); predecessors.removeAll(number); }
@Override public void removeAllIncidentEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet succ = successors.getRelated(number); if (succ != null) { succ.foreach(x -> predecessors.remove(x, number)); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } successors.removeAll(number); hasSuccessor.clear(number); predecessors.removeAll(number); }
@Override public void removeAllIncidentEdges(T node) throws IllegalArgumentException { final int number = nodeManager.getNumber(node); if (number < 0) { throw new IllegalArgumentException("node not in graph: " + node); } IntSet succ = successors.getRelated(number); if (succ != null) { succ.foreach(x -> predecessors.remove(x, number)); } IntSet pred = predecessors.getRelated(number); if (pred != null) { pred.foreach(x -> { successors.remove(x, number); if (successors.getRelatedCount(x) == 0) { hasSuccessor.clear(x); } }); } successors.removeAll(number); hasSuccessor.clear(number); predecessors.removeAll(number); }