X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FFastSet.java;h=711c9841f1bae8103b05aa73bdf30217211977db;hp=b94613e7a92cb63a8ac83b7ae5413a0c59ddf3e3;hb=1d6f5a5f585a993cb780ea454fa1bd26d440c4ce;hpb=f33c05adc5aa3dd324c5352cdbd6f4b55359acad diff --git a/src/edu/berkeley/sbp/util/FastSet.java b/src/edu/berkeley/sbp/util/FastSet.java index b94613e..711c984 100644 --- a/src/edu/berkeley/sbp/util/FastSet.java +++ b/src/edu/berkeley/sbp/util/FastSet.java @@ -1,7 +1,9 @@ +// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp.util; import java.util.*; -public /*final*/ class FastSet implements Iterator, Iterable { +public /*final*/ class FastSet implements Iterator, Iterable, Visitable { public static final int INITIAL_SIZE = 8; @@ -28,6 +30,25 @@ public /*final*/ class FastSet implements Iterator, Iterable { for(T t : s) array[size++] = t; } + public void remove(T t) { + if (only != null) { + if (only==t) only=null; + return; + } + boolean found = false; + for(int j=0; j void visit(Invokable ivbc, B b, C c) { + if (only!=null) ivbc.invoke(only, b, c); + else for(int j=0; j