X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2FNode.java;h=1168c78419ff63f58a555117096ae66a1d419c3c;hp=872e37700bd84284f355fff9690e03d415cc09e5;hb=9680415a3e36240dcac947b3d4d1ad6b312c4fce;hpb=053eb99c444844015cfdb486b03c55adb0a3cd7f diff --git a/src/edu/berkeley/sbp/Node.java b/src/edu/berkeley/sbp/Node.java index 872e377..1168c78 100644 --- a/src/edu/berkeley/sbp/Node.java +++ b/src/edu/berkeley/sbp/Node.java @@ -10,8 +10,22 @@ import java.io.*; import java.util.*; import java.lang.reflect.*; -class Node - implements GraphViz.ToGraphViz { +class Node + implements IntegerMappable, + GraphViz.ToGraphViz, + Iterable { + + protected FastSet predecessors = new FastSet(); + protected FastSet successors = new FastSet(); + //private HashSet predecessors = new HashSet(); + //private HashSet successors = new HashSet(); + + public Iterator iterator() { return predecessors.iterator(); } + + public boolean noSuccessors() { return successors.size()==0; } + public boolean predecessorsContains(OtherNode n) { + return predecessors.contains(n); + } // GraphViz ////////////////////////////////////////////////////////////////////////////// @@ -36,4 +50,11 @@ class Node } public boolean isTransparent() { return false; } public boolean isHidden() { return false; } + + // IntegerMappable //////////////////////////////////////////////////////////// + + private static int node_idx = 0; + private final int idx = node_idx++; + public int toInt() { return idx; } + } \ No newline at end of file