O'Reilly logo

C# in a Nutshell by Peter Drayton, Ted Neward, Ben Albahari

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

BitVector32

Synopsis

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 (this operator) 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 Constructors
   public method BitVector32(BitVector32 value);  
   public method BitVector32(int data);  
// Public Instance Properties
   public field int Data{get; } 
   public field int this{set; get; } 
   public field bool this{set; get; } 
// Public Static Methods
   public static method int CreateMask();  
   public static method int CreateMask(int previous);  
   public static method Section CreateSection(
        short maxValue);  
   public static method Section CreateSection(short maxValue, 
        Section previous);  
   public static method string ToString(BitVector32 value);  
// Public Instance Methods
   public override method bool Equals(object o);                // overrides ValueType
   public override method int GetHashCode();                     // overrides ValueType public override method string ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required