]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/chr/PriorityContainer.java
(refs #7250) Refactoring CHR implementation
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / chr / PriorityContainer.java
diff --git a/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/chr/PriorityContainer.java b/bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/chr/PriorityContainer.java
deleted file mode 100644 (file)
index 867628f..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.simantics.scl.runtime.chr;
-
-import java.util.Arrays;
-
-class PriorityContainer {
-    private static final boolean CLEANUP_ENABLED = true;
-    
-    final int priority;
-    Fact[] facts = new Fact[4];
-    int size;
-
-    public PriorityContainer(int priority) {
-        this.priority = priority;
-    }
-    
-    public void push(Fact item) {
-        if(size == facts.length)
-            increaseCapacity();
-        facts[size++] = item;
-    }
-
-    private void increaseCapacity() {
-        if(CLEANUP_ENABLED) {
-            // Cleanup dead facts
-            int j=0;
-            for(int i=0;i<size;++i) {
-                Fact fact = facts[i];
-                if(fact.isAlive())
-                    facts[j++] = fact;
-            }
-            size = j;
-        }
-        
-        // Resize if necessary
-        if(size >= facts.length*3/4)
-            facts = Arrays.copyOf(facts, size*2);
-    }
-
-    public Fact pop() {
-        return facts[--size];
-    }
-}