Found two bugs, they are now fixed.
new version attached
Index: corlib/en/System.Collections/BitArray.xml
===================================================================
RCS file: /cvs/public/monodoc/class/corlib/en/System.Collections/BitArray.xml,v
retrieving revision 1.2
diff -u -r1.2 BitArray.xml
--- corlib/en/System.Collections/BitArray.xml 1 Jun 2003 15:53:46 -0000 1.2
+++ corlib/en/System.Collections/BitArray.xml 20 Jun 2003 00:57:55 -0000
@@ -23,10 +23,17 @@
</Attribute>
</Attributes>
</AssemblyInfo>
- <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
+ <ThreadSafetyStatement>
+ <para>Public static (Shared in Visual Basic) members of this type are
+ safe for multithreaded operations. Instance members are not guaranteed
+ to be thread-safe.</para>
+
+ <para>The framework does not provide a thread safe version of BitArray</para>
+ </ThreadSafetyStatement>
<Docs>
- <summary>To be added</summary>
- <remarks>To be added</remarks>
+ <summary>The BitArray class represents an ordered set of bits.</summary>
+ <remarks>Using a BitArray is more memory-efficient than using bool []. However, a slight tradeoff
+ in speed is made, because of the shifts that must be preformed to compactly store the BitArray inside an int [].</remarks>
</Docs>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
@@ -56,9 +63,18 @@
</ReturnValue>
<Parameters />
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'object'</returns>
- <remarks>To be added</remarks>
+ <summary><para>Returns a <see cref="T:System.Object" /> that is a copy of the current instance.</para></summary>
+ <returns><para>A <see cref="T:System.Object" /> that is a copy of the current instance.</para></returns>
+ <remarks>
+ <para>
+ <block subset="none" type="note">This method is implemented to support the <see cref="T:System.ICloneable" />
+ interface.</block>
+ </para>
+ <para>
+ In this implementation, the clone that is made is a deap clone. However the ECMA calls for a shallow clone.
+ Please do not depend on the behavior of this method, as it may change.
+ </para>
+ </remarks>
</Docs>
</Member>
<Member MemberName="GetEnumerator">
@@ -69,9 +85,27 @@
</ReturnValue>
<Parameters />
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'IEnumerator'</returns>
- <remarks>To be added</remarks>
+ <summary>
+ <para>Returns a <see cref="T:System.Collections.IEnumerator" /> for the current
+ instance.</para>
+ </summary>
+ <returns>
+ <para>A <see cref="T:System.Collections.IEnumerator" /> for the current instance.</para>
+ </returns>
+ <remarks>
+ <para> If the elements of
+ the current instance are modified while an enumeration is in progress, a call
+ to <see cref="M:System.Collections.IEnumerator.MoveNext" /> or <see cref="P:System.Collections.IEnumerator.Current" /> throws <see cref="T:System.InvalidOperationException" /> . </para>
+ <block subset="none" type="note">
+ <para> For detailed information regarding the use of an enumerator, see
+ <see cref="T:System.Collections.IEnumerator" />.</para>
+ <para>This property is implemented to support the <see cref="T:System.Collections.IList" /> interface.</para>
+ </block>
+ <para>
+ <block subset="none" type="behaviors">As described
+ above.</block>
+ </para>
+ </remarks>
</Docs>
</Member>
<Member MemberName="CopyTo">
@@ -208,10 +242,11 @@
<Parameter Name="length" Type="System.Int32" />
</Parameters>
<Docs>
- <summary>To be added</summary>
- <param name="length">To be added: an object of type 'int'</param>
- <returns>To be added: an object of type 'BitArray'</returns>
- <remarks>To be added</remarks>
+ <summary>Creates a BitArray with a specified length.</summary>
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length" /> < 0.</exception>
+ <param name="length">The length that the new BitArray should have.</param>
+ <returns>A new BitArray with <paramref name="length"/> bits.</returns>
+ <remarks>This implementation creates an int[] with a length of <paramref name="length"/> / 32. Each element is marked as <see langword="false"/>.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
@@ -223,11 +258,12 @@
<Parameter Name="defaultValue" Type="System.Boolean" />
</Parameters>
<Docs>
- <summary>To be added</summary>
- <param name="length">To be added: an object of type 'int'</param>
- <param name="defaultValue">To be added: an object of type 'bool'</param>
- <returns>To be added: an object of type 'BitArray'</returns>
- <remarks>To be added</remarks>
+ <summary>Creates a BitArray with a specified length and default value.</summary>
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length" /> < 0.</exception>
+ <param name="length">The length that the new BitArray should have.</param>
+ <param name="defaultValue">The default value that each bit should be set to.</param>
+ <returns>A new BitArray with a length of <paramref name="length"/> bits, each set to <paramref name="defaultValue"/>.</returns>
+ <remarks>This implementation creates an int[] with a length of <paramref name="length"/> / 32.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
@@ -280,10 +316,10 @@
<Parameter Name="bits" Type="System.Collections.BitArray" />
</Parameters>
<Docs>
- <summary>To be added</summary>
- <param name="bits">To be added: an object of type 'BitArray'</param>
- <returns>To be added: an object of type 'BitArray'</returns>
- <remarks>To be added</remarks>
+ <summary>Creates a duplicate of a BitArray</summary>
+ <param name="bits">The BitArray to duplicate.</param>
+ <returns>A clone of the <paramref name="bits"/>.</returns>
+ <remarks>The clone that is created is a deap clone, that is, if the new BitArray is modified, the old one will stay the same.</remarks>
</Docs>
</Member>
<Member MemberName="Item">
@@ -314,10 +350,12 @@
<Parameter Name="value" Type="System.Int32" />
</Parameters>
<Docs>
- <summary>To be added</summary>
- <param name="value">To be added: an object of type 'int'</param>
- <returns>To be added: an object of type 'int'</returns>
- <remarks>To be added</remarks>
+ <summary>The length of this BitArray.</summary>
+ <param name="value">The new capacity for the BitArray.</param>
+ <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="value" /> < 0.</exception>
+ <returns>The capicity for the BitArray.</returns>
+ <remarks>If the code which uses BitArray is able to anticipate the number of items that will be required, it is best to set the property to that number to reduce the
+ amount of resizing performed.</remarks>
</Docs>
</Member>
<Member MemberName="Count">
@@ -327,10 +365,9 @@
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'int'</returns>
- <remarks>To be added</remarks>
- </Docs>
+ <summary>The number of items in this BitArray.</summary>
+ <returns>The number of items that are contained in this BitArray.</returns>
+ </Docs>
</Member>
<Member MemberName="SyncRoot">
<MemberSignature Language="C#" Value="public virtual object SyncRoot { get; };" />
@@ -339,9 +376,26 @@
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'object'</returns>
- <remarks>To be added</remarks>
+ <summary>
+ <para>Gets an object that can be used to synchronize access to
+ the current instance.</para>
+ </summary>
+ <value>
+ <para>A <see cref="T:System.Object" /> that can be used to synchronize access to the
+ current instance.</para>
+ </value>
+ <remarks>
+ <para>This property is read-only.</para>
+ <para> Program code must perform synchronized operations
+ on the <see cref="P:System.Collections.BitArray.SyncRoot" /> of
+ the current instance, not directly on the current instance. This ensures proper
+ operation of collections that are derived from other objects. Specifically, it
+ maintains proper synchronization with other threads that might be simultaneously
+ modifying the current instance.</para>
+ <para>
+ <block subset="none" type="default">This property returns a reference to the current instance.</block>
+ </para>
+ </remarks>
</Docs>
</Member>
<Member MemberName="IsReadOnly">
@@ -351,9 +405,17 @@
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'bool'</returns>
- <remarks>To be added</remarks>
+<summary>
+ <para>Gets a value indicating whether access to the current
+ instance is read-only.</para>
+ </summary>
+ <value>
+ <para>Always <see langword="false" />.</para>
+ </value>
+ <remarks>
+ <para>This property is read-only.</para>
+ <para>This implementation does not support read-only BitArrays.</para>
+ </remarks>
</Docs>
</Member>
<Member MemberName="IsSynchronized">
@@ -363,9 +425,17 @@
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
- <summary>To be added</summary>
- <returns>To be added: an object of type 'bool'</returns>
- <remarks>To be added</remarks>
+ <summary>
+ <para>Gets a value indicating whether access to the current
+ instance is synchronized (thread-safe).</para>
+ </summary>
+ <value>
+ <para>Always <see langword="false" />.</para>
+ </value>
+ <remarks>
+ <para>This property is read-only.</para>
+ <para>This implementation does not support syncronized BitArrays.</para>
+ </remarks>
</Docs>
</Member>
</Members>