<Type Name="NSSet" FullName="Claunia.PropertyList.NSSet">
  <TypeSignature Language="C#" Value="public class NSSet : Claunia.PropertyList.NSObject, System.Collections.IEnumerable" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NSSet extends Claunia.PropertyList.NSObject implements class System.Collections.IEnumerable" />
  <AssemblyInfo>
    <AssemblyName>plist-cil</AssemblyName>
    <AssemblyVersion>1.13.0.0</AssemblyVersion>
    <AssemblyVersion>1.14.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>Claunia.PropertyList.NSObject</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Collections.IEnumerable</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>
      <para>
            A set is an interface to an unordered collection of objects.
            </para>
      <para>
            This implementation uses a <see cref="T:System.Collections.Generic.List`1" />as the underlying
            data structure.
            </para>
    </summary>
    <remarks>To be added.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public NSSet ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>
            Creates an empty unordered set.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public NSSet (Claunia.PropertyList.NSObject[] objects);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Claunia.PropertyList.NSObject[] objects) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="objects" Type="Claunia.PropertyList.NSObject[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="objects">The objects to populate the set.</param>
        <summary>
            Creates a set and fill it with the given objects.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public NSSet (bool ordered);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool ordered) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="ordered" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="ordered">Should the set be ordered on operations?</param>
        <summary>
            Creates an empty set.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public NSSet (bool ordered, Claunia.PropertyList.NSObject[] objects);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool ordered, class Claunia.PropertyList.NSObject[] objects) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="ordered" Type="System.Boolean" />
        <Parameter Name="objects" Type="Claunia.PropertyList.NSObject[]">
          <Attributes>
            <Attribute>
              <AttributeName>System.ParamArray</AttributeName>
            </Attribute>
          </Attributes>
        </Parameter>
      </Parameters>
      <Docs>
        <param name="ordered">Should the set be ordered on operations?</param>
        <param name="objects">The objects to populate the set.</param>
        <summary>
            Creates a set and fill it with the given objects.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddObject">
      <MemberSignature Language="C#" Value="public void AddObject (Claunia.PropertyList.NSObject obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddObject(class Claunia.PropertyList.NSObject obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="Claunia.PropertyList.NSObject" />
      </Parameters>
      <Docs>
        <param name="obj">The object to add.</param>
        <summary>
            Adds an object to the set.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AllObjects">
      <MemberSignature Language="C#" Value="public Claunia.PropertyList.NSObject[] AllObjects ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Claunia.PropertyList.NSObject[] AllObjects() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Returns all objects contained in the set.
            </summary>
        <returns>An array of all objects in the set.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AnyObject">
      <MemberSignature Language="C#" Value="public Claunia.PropertyList.NSObject AnyObject ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Claunia.PropertyList.NSObject AnyObject() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Returns one of the objects in the set, or <c>null</c>
            if the set contains no objects.
            </summary>
        <returns>The first object in the set, or <c>null</c> if the set is empty.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ContainsObject">
      <MemberSignature Language="C#" Value="public bool ContainsObject (Claunia.PropertyList.NSObject obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool ContainsObject(class Claunia.PropertyList.NSObject obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="Claunia.PropertyList.NSObject" />
      </Parameters>
      <Docs>
        <param name="obj">The object to look for.</param>
        <summary>
            Finds out whether a given object is contained in the set.
            </summary>
        <returns>
          <c>true</c>, when the object was found, <c>false</c> otherwise.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Count">
      <MemberSignature Language="C#" Value="public int Count { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Count" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the number of elements in the set.
            </summary>
        <value>The number of elements in the set.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (Claunia.PropertyList.NSObject obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(class Claunia.PropertyList.NSObject obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="Claunia.PropertyList.NSObject" />
      </Parameters>
      <Docs>
        <param name="obj">The <see cref="T:Claunia.PropertyList.NSObject" /> to compare with the current <see cref="T:Claunia.PropertyList.NSSet" />.</param>
        <summary>
            Determines whether the specified <see cref="T:Claunia.PropertyList.NSObject" /> is equal to the current <see cref="T:Claunia.PropertyList.NSSet" />.
            </summary>
        <returns>
          <c>true</c> if the specified <see cref="T:Claunia.PropertyList.NSObject" /> is equal to the current
            <see cref="T:Claunia.PropertyList.NSSet" />; otherwise, <c>false</c>.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:Claunia.PropertyList.NSSet" />.</param>
        <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:Claunia.PropertyList.NSSet" />.
            </summary>
        <returns>
          <c>true</c> if the specified <see cref="T:System.Object" /> is equal to the current
            <see cref="T:Claunia.PropertyList.NSSet" />; otherwise, <c>false</c>.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetEnumerator">
      <MemberSignature Language="C#" Value="public System.Collections.IEnumerator GetEnumerator ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.IEnumerator GetEnumerator() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.IEnumerator</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Returns an enumerator object that lets you iterate over all elements of the set.
            This is the equivalent to <c>objectEnumerator</c> in the Cocoa implementation
            of NSSet.
            </summary>
        <returns>The iterator for the set.</returns>
        <remarks>To be added.</remarks>
      </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.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Serves as a hash function for a <see cref="T:Claunia.PropertyList.NSSet" /> object.
            </summary>
        <returns>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a
            hash table.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IntersectsSet">
      <MemberSignature Language="C#" Value="public bool IntersectsSet (Claunia.PropertyList.NSSet otherSet);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IntersectsSet(class Claunia.PropertyList.NSSet otherSet) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="otherSet" Type="Claunia.PropertyList.NSSet" />
      </Parameters>
      <Docs>
        <param name="otherSet">The other set.</param>
        <summary>
            Finds out whether at least one object is present in both sets.
            </summary>
        <returns>
          <c>true</c> if the intersection of both sets is empty, <c>false</c> otherwise.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsSubsetOfSet">
      <MemberSignature Language="C#" Value="public bool IsSubsetOfSet (Claunia.PropertyList.NSSet otherSet);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool IsSubsetOfSet(class Claunia.PropertyList.NSSet otherSet) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="otherSet" Type="Claunia.PropertyList.NSSet" />
      </Parameters>
      <Docs>
        <param name="otherSet">The other set.</param>
        <summary>
            Finds out if this set is a subset of the given set.
            </summary>
        <returns>
          <c>true</c> if all elements in this set are also present in the other set, <c>false</c>otherwise.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Member">
      <MemberSignature Language="C#" Value="public Claunia.PropertyList.NSObject Member (Claunia.PropertyList.NSObject obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Claunia.PropertyList.NSObject Member(class Claunia.PropertyList.NSObject obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Claunia.PropertyList.NSObject</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="Claunia.PropertyList.NSObject" />
      </Parameters>
      <Docs>
        <param name="obj">The object to look for.</param>
        <summary>
            Determines whether the set contains an object equal to a given object
            and returns that object if it is present.
            </summary>
        <returns>The object if it is present, <c>null</c> otherwise.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="RemoveObject">
      <MemberSignature Language="C#" Value="public void RemoveObject (Claunia.PropertyList.NSObject obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveObject(class Claunia.PropertyList.NSObject obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.13.0.0</AssemblyVersion>
        <AssemblyVersion>1.14.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="Claunia.PropertyList.NSObject" />
      </Parameters>
      <Docs>
        <param name="obj">The object to remove.</param>
        <summary>
            Removes an object from the set.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
