coins.alias.alias2
Class TagVector2

java.lang.Object
  extended bycoins.alias.util.BitVector
      extended bycoins.alias.alias2.TagVector2

class TagVector2
extends BitVector

BitVector where each bit represents an object. Aggregate type objects correspond to several bits. The last bit is specially used for external objects.


Field Summary
(package private)  Var fAssociatedParam
           
(package private)  boolean fIsDefinite
           
 
Fields inherited from class coins.alias.util.BitVector
fBitLength, fLongWordLength, fShiftMax, fVectorWord
 
Constructor Summary
(package private) TagVector2(int pBitCount)
          Creates a new instance of TagVector2 with the specified bit length.
 
Method Summary
 boolean equals(java.lang.Object pObject)
          The equality for two BitVector objects is specified by vectorEqual().
 void resetBit(int pIndex)
          Resets the bit at the specified position.
 void setBit(int pIndex)
          Sets the bit at the specified position.
(package private)  BriggsSet toBriggsSet()
          Returns the BriggsSet view of this BitVector.
 java.lang.String toString()
          Returns a String representation of this BitVector.
 BitVector vectorAnd(BitVector pOperand2, BitVector pResult)
          Performs the bitwise AND operation between this BitVector and the argument pOperand2, and stores the result into pResult.
 BitVector vectorCopy(BitVector pResult)
          Copies the contents of this BitVector into the specified argument.
 BitVector vectorNot(BitVector pResult)
          Performs the bitwise NOT operation on this BitVector and store the result into the specified argument.
 BitVector vectorOr(BitVector pOperand2, BitVector pResult)
          Performs the bitwise OR operation between this BitVector and the argument pOperand2, and stores the result into pResult.
 BitVector vectorReset()
          Resets all the bits of this BitVector.
 BitVector vectorSub(BitVector pOperand2, BitVector pResult)
          Performs the bitwise subtraction operation between this BitVector and the argument pOperand2, and stores the result into pResult.
 BitVector vectorXor(BitVector pOperand2, BitVector pResult)
          Performs the bitwise exclusive OR (XOR) operation between this BitVector and the argument pOperand2, and stores the result into pResult.
 
Methods inherited from class coins.alias.util.BitVector
bitVectorIterator, getBit, getBitLength, getVectorWord, getWordLength, isSet, isZero, toStringDescriptive, vectorEqual
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fIsDefinite

boolean fIsDefinite

fAssociatedParam

Var fAssociatedParam
Constructor Detail

TagVector2

TagVector2(int pBitCount)
Creates a new instance of TagVector2 with the specified bit length.

Parameters:
pBitCount - the bit length of the TagVector2.
Method Detail

setBit

public void setBit(int pIndex)
Sets the bit at the specified position.

Overrides:
setBit in class BitVector
Parameters:
pIndex - the bit position the bit at which is to be set.

resetBit

public void resetBit(int pIndex)
Resets the bit at the specified position.

Overrides:
resetBit in class BitVector
Parameters:
pIndex - the bit position the bit at which is to be reset.

vectorNot

public BitVector vectorNot(BitVector pResult)
Performs the bitwise NOT operation on this BitVector and store the result into the specified argument. The argument must have the same length as this BitVector.

Overrides:
vectorNot in class BitVector
Parameters:
pResult - the BitVector where the result of the NOT operation is stored.
Returns:
pResult, the result of the NOT operation.

vectorAnd

public BitVector vectorAnd(BitVector pOperand2,
                           BitVector pResult)
Performs the bitwise AND operation between this BitVector and the argument pOperand2, and stores the result into pResult. Both pOperand2 and pResult must have the same length as this BitVector.

Overrides:
vectorAnd in class BitVector
Parameters:
pOperand2 - the BitVector with which this BitVector is ANDed.
pResult - the BitVector where the result of the AND operation is stored.
Returns:
pResult, the result of the AND operation.

vectorOr

public BitVector vectorOr(BitVector pOperand2,
                          BitVector pResult)
Performs the bitwise OR operation between this BitVector and the argument pOperand2, and stores the result into pResult. Both pOperand2 and pResult must have the same length as this BitVector.

Overrides:
vectorOr in class BitVector
Parameters:
pOperand2 - the BitVector with which this BitVector is ORed.
pResult - the BitVector where the result of the OR operation is stored.
Returns:
pResult, the result of the OR operation.

vectorXor

public BitVector vectorXor(BitVector pOperand2,
                           BitVector pResult)
Performs the bitwise exclusive OR (XOR) operation between this BitVector and the argument pOperand2, and stores the result into pResult. Both pOperand2 and pResult must have the same length as this BitVector.

Overrides:
vectorXor in class BitVector
Parameters:
pOperand2 - the BitVector with which this BitVector is XORed.
pResult - the BitVector where the result of the XOR operation is stored.
Returns:
pResult, the result of the XOR operation.

vectorSub

public BitVector vectorSub(BitVector pOperand2,
                           BitVector pResult)
Performs the bitwise subtraction operation between this BitVector and the argument pOperand2, and stores the result into pResult. Both pOperand2 and pResult must have the same length as this BitVector.

Overrides:
vectorSub in class BitVector
Parameters:
pOperand2 - the BitVector by which amount this BitVector is reduced (the second operand of the bitwise subtraction operation).
pResult - the BitVector where the result of the subtraction operation is stored.
Returns:
pResult, the result of the subtraction operation.

vectorCopy

public BitVector vectorCopy(BitVector pResult)
Copies the contents of this BitVector into the specified argument. The argument must have the same length as this BitVector.

Overrides:
vectorCopy in class BitVector
Parameters:
pResult - the destination of the copy operation.
Returns:
pResult, the result of the copy operation.

vectorReset

public BitVector vectorReset()
Resets all the bits of this BitVector.

Overrides:
vectorReset in class BitVector
Returns:
this BitVector with all the bits reset.

toBriggsSet

BriggsSet toBriggsSet()

Returns the BriggsSet view of this BitVector. BitVector does not perform well for scanning, so this method is for efficient scanning (while this set is not modified). Change to the set returned by this method will NOT be reflected in this bit vector and vice versa.

This method checks if this BitVector has been modified after the previous call to this method, and if not, returns the BriggsSet instance returned by the previous call. If this BitVector has been modified since the previous call, or there has never been such a call, then it returns a new copy of the BriggsSet synchronized with the current state of this BitVector. So if the BriggsSet instance returned by a previous call to this method has been modified while this BitVector itself has not been modified, this method will return the same BriggsSet instance returned by the previous call, which is not synchronized with the current state of this BitVector. In general, the BriggsSet instance returned by this method should not be modified.

Returns:
the BriggsSet view of this TagVector2.

equals

public boolean equals(java.lang.Object pObject)
Description copied from class: BitVector
The equality for two BitVector objects is specified by vectorEqual(). This method returns true if and only if the specified argument pObject is an instance of BitVector, its length is equal to the length of this BitVector, and vectorEqual((BitVector)pObject) returns true.

Overrides:
equals in class BitVector
Parameters:
pObject - the object to be compared with this BitVector.
Returns:
true if the specified argument pObject is a BitVector having the same length as this one and vectorEqual((BitVector)pObject) returns true.
See Also:
BitVector.vectorEqual(coins.alias.util.BitVector)

toString

public java.lang.String toString()
Description copied from class: BitVector
Returns a String representation of this BitVector. The resultant String contains the bit positions of the set bits separated by spaces.

Overrides:
toString in class BitVector
Returns:
the String representation of this BitVector.