This structure defines a lightweight
bit vector that
can store booleans and 16-bit integers in a 32-bit structure.
Sections hold single 16-bit integer values and are
the building blocks of a BitVector32. Sections are created with
CreateSection( ). Each section is constructed with
a maximum value for the integer it can hold. Except for the initial
section, each subsequent section must provide a reference to the
previous section in addition to the maximum value.
The indexer takes two forms. When indexed by a section name, that
section's value can be set or retrieved. When
indexed by an integer that specifies a bit in the vector, you can
determine whether that bit is set or not (true or
false).
public struct BitVector32 {
// Public Conastructors
public BitVector32(BitVector32 value);
public BitVector32(int data);
// Public Instance Properties
public int Data{get; }
public int this(Section section)){set; get; }
public bool this[int bit]{set; get; }
// Public Static Methods
public static int CreateMask( );
public static int CreateMask(int previous);
public static Section CreateSection(short maxValue);
public static Section CreateSection(short maxValue, Section previous);
public static string ToString(BitVector32 value);
// Public Instance Methods
public override bool Equals(object o);
// overrides ValueType
public override int GetHashCode( );
// overrides ValueType
public override string ToString( );
// overrides ValueType
}