Class BasicNaturalRelation

java.lang.Object
com.ibm.wala.util.intset.BasicNaturalRelation
All Implemented Interfaces:
VerboseAction, IBinaryNaturalRelation, Serializable, Iterable<IntPair>

public final class BasicNaturalRelation extends Object implements IBinaryNaturalRelation, Serializable
A relation between non-negative integers This implementation uses n IntVectors, to hold the first n y's associated with each x, and then 1 extra vector of SparseIntSet to hold the remaining ys.
See Also:
  • Field Details

  • Constructor Details

    • BasicNaturalRelation

      public BasicNaturalRelation(byte[] implementation, byte vectorImpl) throws IllegalArgumentException
      Parameters:
      implementation - a set of codes that represent how the first n IntVectors should be implemented.
      vectorImpl - a code that indicates how to represent the delegateStore. For example implementation = {SIMPLE_INT_VECTOR,TWO_LEVEL_INT_VECTOR,TWO_LEVEL_INT_VECTOR} will result in an implementation where the first 3 y's associated with each x are represented in IntVectors. The IntVector for the first y will be implemented with a SimpleIntVector, and the 2nd and 3rd are implemented with TwoLevelIntVector
      Throws:
      IllegalArgumentException - if implementation is null
      IllegalArgumentException - if implementation.length == 0
    • BasicNaturalRelation

      public BasicNaturalRelation()
  • Method Details