org.apache.xerces.impl.dtd.models

Class CMStateSet


public class CMStateSet
extends java.lang.Object

This class is a very simple bitset class. The DFA content model code needs to support a bit set, but the java BitSet class is way, way overkill. Our bitset never needs to be expanded after creation, hash itself, etc... Since the vast majority of content models will never require more than 64 bits, and since allocation of anything in Java is expensive, this class provides a hybrid implementation that uses two ints for instances that use 64 bits or fewer. It has a byte array reference member which will only be used if more than 64 bits are required. Note that the code that uses this class will never perform operations on sets of different sizes, so that check does not have to be made here.
Version:
$Id: CMStateSet.java,v 1.5 2004/10/04 22:00:42 mrglavas Exp $

Constructor Summary

CMStateSet(int bitCount)

Method Summary

boolean
equals(Object o)
boolean
getBit(int bitToGet)
int
hashCode()
void
intersection(CMStateSet setToAnd)
boolean
isEmpty()
void
setBit(int bitToSet)
void
setTo(CMStateSet srcSet)
String
toString()
void
union(CMStateSet setToOr)
void
zeroBits()

Constructor Details

CMStateSet

public CMStateSet(int bitCount)

Method Details

equals

public boolean equals(Object o)

getBit

public final boolean getBit(int bitToGet)

hashCode

public int hashCode()

intersection

public final void intersection(CMStateSet setToAnd)

isEmpty

public final boolean isEmpty()

setBit

public final void setBit(int bitToSet)

setTo

public final void setTo(CMStateSet srcSet)

toString

public String toString()

union

public final void union(CMStateSet setToOr)

zeroBits

public final void zeroBits()

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.