Class BitVectorIntSet
java.lang.Object
com.ibm.wala.util.intset.BitVectorIntSet
- All Implemented Interfaces:
IntSet
,MutableIntSet
,Serializable
A
BitVector
implementation of MutableIntSet
.
Note that this is NOT a value with regard to hashCode and equals.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
add
(int i) Add an integer value to this set.boolean
Add all members of set to this.boolean
addAllInIntersection
(IntSet other, IntSet filter) void
addAllOblivious
(IntSet set) this version of add all will likely be faster if the client doesn't care about the change or the population count.void
clear()
remove all elements from this setboolean
contains
(int i) boolean
containsAll
(BitVectorIntSet other) boolean
containsAny
(IntSet set) void
Set the value of this to be the same as the value of setvoid
foreach
(IntSetAction action) Invoke an action on each element of the Setvoid
foreachExcluding
(IntSet X, IntSetAction action) Invoke an action on each element of the Set, excluding elements of Set Xintersection
(IntSet that) This implementation must not despoil the original value of "this"void
intersectWith
(IntSet set) Intersect this with another set.Use with extreme care; doesn't detect ConcurrentModificationExceptionsboolean
isEmpty()
boolean
int
max()
int
nextSetBit
(int n) boolean
remove
(int i) Remove an integer from this set.boolean
removeAll
(BitVectorIntSet set) boolean
int
size()
TODO: optimizetoString()
This implementation must not despoil the original value of "this"
-
Constructor Details
-
BitVectorIntSet
public BitVectorIntSet() -
BitVectorIntSet
-
BitVectorIntSet
- Throws:
IllegalArgumentException
-
-
Method Details
-
clear
public void clear()Description copied from interface:MutableIntSet
remove all elements from this set- Specified by:
clear
in interfaceMutableIntSet
-
copySet
Description copied from interface:MutableIntSet
Set the value of this to be the same as the value of set- Specified by:
copySet
in interfaceMutableIntSet
- Throws:
IllegalArgumentException
-
addAll
Description copied from interface:MutableIntSet
Add all members of set to this.- Specified by:
addAll
in interfaceMutableIntSet
- Returns:
- true iff the value of this changes.
-
addAllOblivious
this version of add all will likely be faster if the client doesn't care about the change or the population count.- Throws:
IllegalArgumentException
- if set == null
-
add
public boolean add(int i) Description copied from interface:MutableIntSet
Add an integer value to this set.- Specified by:
add
in interfaceMutableIntSet
- Parameters:
i
- integer to add- Returns:
- true iff the value of this changes.
-
remove
public boolean remove(int i) Description copied from interface:MutableIntSet
Remove an integer from this set.- Specified by:
remove
in interfaceMutableIntSet
- Parameters:
i
- integer to remove- Returns:
- true iff the value of this changes.
-
intersectWith
Description copied from interface:MutableIntSet
Intersect this with another set.- Specified by:
intersectWith
in interfaceMutableIntSet
-
intersection
Description copied from interface:IntSet
This implementation must not despoil the original value of "this"- Specified by:
intersection
in interfaceIntSet
- Returns:
- a new IntSet which is the intersection of this and that
- See Also:
-
union
-
isEmpty
-
size
-
intIterator
Use with extreme care; doesn't detect ConcurrentModificationExceptions- Specified by:
intIterator
in interfaceIntSet
- Returns:
- a perhaps more efficient iterator
-
foreach
Description copied from interface:IntSet
Invoke an action on each element of the Set -
makeSparseCopy
-
foreachExcluding
Description copied from interface:IntSet
Invoke an action on each element of the Set, excluding elements of Set X- Specified by:
foreachExcluding
in interfaceIntSet
- See Also:
-
contains
-
max
-
toString
-
nextSetBit
public int nextSetBit(int n) - Returns:
- min j >= n s.t get(j)
-
sameValue
- Specified by:
sameValue
in interfaceIntSet
- Returns:
- true iff
this
has the same value asthat
. - Throws:
IllegalArgumentException
UnimplementedError
- See Also:
-
isSubset
-
getBitVector
-
toSparseIntSet
TODO: optimize -
removeAll
- Throws:
IllegalArgumentException
- if set is null
-
containsAny
- Specified by:
containsAny
in interfaceIntSet
- Returns:
- true iff this set contains integer i
- Throws:
IllegalArgumentException
- See Also:
-
addAllInIntersection
- Specified by:
addAllInIntersection
in interfaceMutableIntSet
- Throws:
IllegalArgumentException
-
containsAll
-