<?xml version="1.0" encoding="utf-8"?>
<Type Name="BitVector32" FullName="System.Collections.Specialized.BitVector32">
  <TypeSignature Language="C#" Maintainer="auto" Value="public struct BitVector32" />
  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit BitVector32 extends System.ValueType" />
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey>
    <AssemblyVersion>1.0.3300.0</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>
        <see cref="T:System.Collections.Specialized.BitVector32" /> is more efficient than <see cref="T:System.Collections.BitArray" /> for Boolean values and small integers that are used internally. A <see cref="T:System.Collections.BitArray" /> can grow indefinitely as needed, but it has the memory and performance overhead that a class instance requires. In contrast, a <see cref="T:System.Collections.Specialized.BitVector32" /> uses only 32 bits.</para>
      <para>A <see cref="T:System.Collections.Specialized.BitVector32" /> structure can be set up to contain either sections for small integers or bit flags for Booleans, but not both. A <see cref="T:System.Collections.Specialized.BitVector32.Section" /> is a window into the <see cref="T:System.Collections.Specialized.BitVector32" /> and is composed of the smallest number of consecutive bits that can contain the maximum value specified in <see cref="M:System.Collections.Specialized.BitVector32.CreateSection(System.Int16)" />. For example, a section with a maximum value of 1 is composed of only one bit, whereas a section with a maximum value of 5 is composed of three bits. You can create a <see cref="T:System.Collections.Specialized.BitVector32.Section" /> with a maximum value of 1 to serve as a Boolean, thereby allowing you to store integers and Booleans in the same <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
      <para>Some members can be used for a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as sections, while other members can be used for one that is set up as bit flags. For example, the <see cref="P:System.Collections.Specialized.BitVector32.Item(System.Collections.Specialized.BitVector32.Section)" /> property is the indexer for a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as sections, and the <see cref="P:System.Collections.Specialized.BitVector32.Item(System.Int32)" /> property is the indexer for a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as bit flags. <see cref="M:System.Collections.Specialized.BitVector32.CreateMask" /> creates a series of masks that can be used to access individual bits in a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as bit flags.</para>
      <para>Using a mask on a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as sections might cause unexpected results.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides a simple structure that stores Boolean values and small integers in 32 bits of memory.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public BitVector32 (System.Collections.Specialized.BitVector32 value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Collections.Specialized.BitVector32 value) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="value" Type="System.Collections.Specialized.BitVector32" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Collections.Specialized.BitVector32" /> structure containing the data represented in an existing <see cref="T:System.Collections.Specialized.BitVector32" /> structure.</para>
        </summary>
        <param name="value">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Collections.Specialized.BitVector32" /> structure that contains the data to copy. </param>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public BitVector32 (int data);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 data) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="data" Type="System.Int32" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This constructor is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Initializes a new instance of the <see cref="T:System.Collections.Specialized.BitVector32" /> structure containing the data represented in an integer.</para>
        </summary>
        <param name="data">
          <attribution license="cc4" from="Microsoft" modified="false" />An integer representing the data of the new <see cref="T:System.Collections.Specialized.BitVector32" />. </param>
      </Docs>
    </Member>
    <Member MemberName="CreateMask">
      <MemberSignature Language="C#" Value="public static int CreateMask ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 CreateMask() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use CreateMask() to create the first mask in a series and CreateMask(int) for all subsequent masks.</para>
          <para>Multiple masks can be created to refer to the same bit flag.</para>
          <para>The resulting mask isolates only one bit flag in the <see cref="T:System.Collections.Specialized.BitVector32" />. You can combine masks using the bitwise OR operation to create a mask that isolates multiple bit flags in the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
          <para>Using a mask on a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as sections might cause unexpected results.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates the first mask in a series of masks that can be used to retrieve individual bits in a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as bit flags.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A mask that isolates the first bit flag in the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateMask">
      <MemberSignature Language="C#" Value="public static int CreateMask (int previous);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig int32 CreateMask(int32 previous) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="previous" Type="System.Int32" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use CreateMask() to create the first mask in a series and CreateMask(int) for all subsequent masks.</para>
          <para>Multiple masks can be created to refer to the same bit flag.</para>
          <para>The resulting mask isolates only one bit flag in the <see cref="T:System.Collections.Specialized.BitVector32" />. You can combine masks using the bitwise OR operation to create a mask that isolates multiple bit flags in the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
          <para>Using a mask on a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as sections might cause unexpected results.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an additional mask following the specified mask in a series of masks that can be used to retrieve individual bits in a <see cref="T:System.Collections.Specialized.BitVector32" /> that is set up as bit flags.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A mask that isolates the bit flag following the one that <paramref name="previous" /> points to in <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </returns>
        <param name="previous">
          <attribution license="cc4" from="Microsoft" modified="false" />The mask that indicates the previous bit flag. </param>
      </Docs>
    </Member>
    <Member MemberName="CreateSection">
      <MemberSignature Language="C#" Value="public static System.Collections.Specialized.BitVector32.Section CreateSection (short maxValue);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype System.Collections.Specialized.BitVector32/Section CreateSection(int16 maxValue) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Specialized.BitVector32+Section</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="maxValue" Type="System.Int16" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Collections.Specialized.BitVector32.Section" /> is a window into the <see cref="T:System.Collections.Specialized.BitVector32" /> and is composed of the smallest number of consecutive bits that can contain the maximum value specified in <see cref="M:System.Collections.Specialized.BitVector32.CreateSection(System.Int16)" />. For example, a section with a maximum value of 1 is composed of only one bit, whereas a section with a maximum value of 5 is composed of three bits. You can create a <see cref="T:System.Collections.Specialized.BitVector32.Section" /> with a maximum value of 1 to serve as a Boolean, thereby allowing you to store integers and Booleans in the same <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
          <para>If sections already exist in the <see cref="T:System.Collections.Specialized.BitVector32" />, those sections are still accessible; however, overlapping sections might cause unexpected results.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates the first <see cref="T:System.Collections.Specialized.BitVector32.Section" /> in a series of sections that contain small integers.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.Collections.Specialized.BitVector32.Section" /> that can hold a number from zero to <paramref name="maxValue" />.</para>
        </returns>
        <param name="maxValue">
          <attribution license="cc4" from="Microsoft" modified="false" />A 16-bit signed integer that specifies the maximum value for the new <see cref="T:System.Collections.Specialized.BitVector32.Section" />. </param>
      </Docs>
    </Member>
    <Member MemberName="CreateSection">
      <MemberSignature Language="C#" Value="public static System.Collections.Specialized.BitVector32.Section CreateSection (short maxValue, System.Collections.Specialized.BitVector32.Section previous);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig valuetype System.Collections.Specialized.BitVector32/Section CreateSection(int16 maxValue, valuetype System.Collections.Specialized.BitVector32/Section previous) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Specialized.BitVector32+Section</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="maxValue" Type="System.Int16" />
        <Parameter Name="previous" Type="System.Collections.Specialized.BitVector32+Section" />
      </Parameters>
      <Docs>
        <param name="maxValue">To be added: an object of type 'short'</param>
        <param name="previous">To be added: an object of type 'BitVector32+Section'</param>
        <summary>To be added</summary>
        <returns>To be added: an object of type 'BitVector32+Section'</returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Data">
      <MemberSignature Language="C#" Value="public int Data { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Data" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added: an object of type 'int'</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To access the value of the individual sections or bit flags, use the <see cref="P:System.Collections.Specialized.BitVector32.Item(System.Int32)" /> property.</para>
          <para>Retrieving the value of this property is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the value of the <see cref="T:System.Collections.Specialized.BitVector32" /> as an integer.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object o);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object o) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="o" Type="System.Object" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The object <paramref name="o" /> is considered equal to the <see cref="T:System.Collections.Specialized.BitVector32" /> if the type of <paramref name="o" /> is compatible with the <see cref="T:System.Collections.Specialized.BitVector32" /> type and if the value of <paramref name="o" /> is equal to the value of <see cref="P:System.Collections.Specialized.BitVector32.Data" />.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether the specified object is equal to the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if the specified object is equal to the <see cref="T:System.Collections.Specialized.BitVector32" />; otherwise, false.</para>
        </returns>
        <param name="o">
          <attribution license="cc4" from="Microsoft" modified="false" />The object to compare with the current <see cref="T:System.Collections.Specialized.BitVector32" />. </param>
      </Docs>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The hash code of a <see cref="T:System.Collections.Specialized.BitVector32" /> is based on the value of <see cref="P:System.Collections.Specialized.BitVector32.Data" />. Two instances of <see cref="T:System.Collections.Specialized.BitVector32" /> with the same value for <see cref="P:System.Collections.Specialized.BitVector32.Data" /> will also generate the same hash code.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Serves as a hash function for the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A hash code for the <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public int this[System.Collections.Specialized.BitVector32.Section section] { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Item(valuetype System.Collections.Specialized.BitVector32/Section)" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="section" Type="System.Collections.Specialized.BitVector32+Section" />
      </Parameters>
      <Docs>
        <param name="section">To be added: an object of type 'BitVector32+Section'</param>
        <summary>To be added</summary>
        <value>To be added: an object of type 'int'</value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="C#" Value="public bool this[int bit] { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool Item(int32)" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="bit" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="bit">To be added.</param>
        <summary>To be added</summary>
        <value>To be added: an object of type 'bool'</value>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method overrides <see cref="M:System.Object.ToString" />.</para>
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a string that represents the current <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string that represents the current <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public static string ToString (System.Collections.Specialized.BitVector32 value);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig string ToString(valuetype System.Collections.Specialized.BitVector32 value) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="System.Collections.Specialized.BitVector32" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method is an O(1) operation.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a string that represents the specified <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string that represents the specified <see cref="T:System.Collections.Specialized.BitVector32" />.</para>
        </returns>
        <param name="value">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Collections.Specialized.BitVector32" /> to represent. </param>
      </Docs>
    </Member>
  </Members>
</Type>