gnu.lists
Class BitVector

java.lang.Object
  extended by gnu.lists.AbstractSequence
      extended by gnu.lists.SimpleVector
          extended by gnu.lists.BitVector
All Implemented Interfaces:
Array, Consumable, Sequence, java.io.Externalizable, java.io.Serializable, java.lang.Iterable, java.util.Collection, java.util.List

public class BitVector
extends SimpleVector
implements java.io.Externalizable

Simple adjustable-length vector of boolean values.

See Also:
Serialized Form

Field Summary
protected static boolean[] empty
           
 
Fields inherited from class gnu.lists.SimpleVector
size
 
Fields inherited from interface gnu.lists.Sequence
ATTRIBUTE_VALUE, BOOLEAN_VALUE, CDATA_VALUE, CHAR_VALUE, COMMENT_VALUE, DOCUMENT_VALUE, DOUBLE_VALUE, ELEMENT_VALUE, EOF_VALUE, eofValue, FLOAT_VALUE, INT_S16_VALUE, INT_S32_VALUE, INT_S64_VALUE, INT_S8_VALUE, INT_U16_VALUE, INT_U32_VALUE, INT_U64_VALUE, INT_U8_VALUE, OBJECT_VALUE, PRIM_VALUE, PROCESSING_INSTRUCTION_VALUE, TEXT_BYTE_VALUE
 
Constructor Summary
BitVector()
           
BitVector(boolean[] data)
           
BitVector(int size)
           
BitVector(int size, boolean value)
           
BitVector(Sequence seq)
           
 
Method Summary
 boolean booleanAt(int index)
           
 boolean booleanAtBuffer(int index)
           
protected  void clearBuffer(int start, int count)
           
 boolean consumeNext(int ipos, Consumer out)
          Copy an element specified by a position pair to a Consumer.
 void consumePosRange(int iposStart, int iposEnd, Consumer out)
           
 java.lang.Object get(int index)
          See java.util.List.
protected  java.lang.Object getBuffer()
           
 java.lang.Object getBuffer(int index)
           
 int getBufferLength()
          Get the allocated length of the data buffer.
 int getElementKind()
           
 java.lang.String getTag()
          This is convenience hack for printing "uniform vectors" (srfi 4).
 void readExternal(java.io.ObjectInput in)
           
 void setBooleanAt(int index, boolean value)
           
 void setBooleanAtBuffer(int index, boolean value)
           
 java.lang.Object setBuffer(int index, java.lang.Object value)
           
 void setBufferLength(int length)
           
 void writeExternal(java.io.ObjectOutput out)
           
 
Methods inherited from class gnu.lists.SimpleVector
add, add, addAll, addPos, clear, compareToInt, compareToLong, consume, createPos, fill, fill, fillPosRange, getNextKind, getPosNext, getRowMajor, intAt, intAtBuffer, isAfterPos, longAt, longAtBuffer, nextIndex, nextPos, remove, remove, removeAll, removePos, removePosRange, retainAll, set, setSize, shift, size, transpose
 
Methods inherited from class gnu.lists.AbstractSequence
addAll, compare, compare, compare, consume, contains, containsAll, copyPos, createRelativePos, elements, endPos, equals, equals, firstAttributePos, firstChildPos, firstChildPos, fromEndIndex, get, getAttribute, getAttributeLength, getContainingSequenceSize, getEffectiveIndex, getIndexDifference, getIterator, getIterator, getIteratorAtPos, getLowBound, getNextTypeName, getNextTypeObject, getPosPrevious, getSize, gotoAttributesStart, gotoChildrenStart, gotoParent, hashCode, hasNext, hasPrevious, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, nextIndex, nextMatching, parentPos, previousPos, rank, releasePos, set, setPosNext, setPosPrevious, stableCompare, startPos, subList, subSequence, subSequencePos, toArray, toArray, toString, toString, unsupported, unsupportedException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface gnu.lists.Sequence
elements, isEmpty
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, subList, toArray, toArray
 
Methods inherited from interface gnu.lists.Consumable
consume
 
Methods inherited from interface gnu.lists.Array
get, getEffectiveIndex, getLowBound, getSize, isEmpty, rank, set
 

Field Detail

empty

protected static boolean[] empty
Constructor Detail

BitVector

public BitVector()

BitVector

public BitVector(int size,
                 boolean value)

BitVector

public BitVector(int size)

BitVector

public BitVector(boolean[] data)

BitVector

public BitVector(Sequence seq)
Method Detail

getBufferLength

public int getBufferLength()
Get the allocated length of the data buffer.

Specified by:
getBufferLength in class SimpleVector

setBufferLength

public void setBufferLength(int length)
Specified by:
setBufferLength in class SimpleVector

getBuffer

protected java.lang.Object getBuffer()
Specified by:
getBuffer in class SimpleVector

booleanAt

public final boolean booleanAt(int index)

booleanAtBuffer

public final boolean booleanAtBuffer(int index)

get

public final java.lang.Object get(int index)
Description copied from class: AbstractSequence
See java.util.List.

Specified by:
get in interface Sequence
Specified by:
get in interface java.util.List
Overrides:
get in class SimpleVector

getBuffer

public final java.lang.Object getBuffer(int index)
Specified by:
getBuffer in class SimpleVector

setBuffer

public java.lang.Object setBuffer(int index,
                                  java.lang.Object value)
Specified by:
setBuffer in class SimpleVector

setBooleanAt

public final void setBooleanAt(int index,
                               boolean value)

setBooleanAtBuffer

public final void setBooleanAtBuffer(int index,
                                     boolean value)

clearBuffer

protected void clearBuffer(int start,
                           int count)
Specified by:
clearBuffer in class SimpleVector

getElementKind

public int getElementKind()
Overrides:
getElementKind in class SimpleVector

getTag

public java.lang.String getTag()
Description copied from class: SimpleVector
This is convenience hack for printing "uniform vectors" (srfi 4). It may go away without notice!

Overrides:
getTag in class SimpleVector

consumeNext

public boolean consumeNext(int ipos,
                           Consumer out)
Description copied from class: AbstractSequence
Copy an element specified by a position pair to a Consumer.

Overrides:
consumeNext in class SimpleVector
Returns:
if hasNext(ipos).

consumePosRange

public void consumePosRange(int iposStart,
                            int iposEnd,
                            Consumer out)
Overrides:
consumePosRange in class SimpleVector

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException