<Type Name="RelationSet" FullName="Atk.RelationSet">
  <TypeSignature Language="C#" Value="public class RelationSet : GLib.Object, IWrapper, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>atk-sharp</AssemblyName>
    <AssemblyPublicKey>
    </AssemblyPublicKey>
    <AssemblyVersion>0.0.0.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <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>
  <Docs>
    <summary>
      A set of <see cref="T:Atk.Relations" />, normally the set which
      an <see cref="T:Atk.Object" /> has.
    </summary>
    <remarks />
  </Docs>
  <Base>
    <BaseTypeName>GLib.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>GLib.IWrapper</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="GetRelation">
      <MemberSignature Language="C#" Value="public Atk.Relation GetRelation (int i);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Atk.Relation</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="i" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Determines the relation at the specified position in the relation set.</summary>
        <param name="i">An <see cref="T:System.Int32" /> representing a position in the set, starting from 0.</param>
        <returns>
          An <see cref="T:Atk.Relation" />, which is the relation at
          position <paramref name="i" /> in the set.
        </returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GetRelationByType">
      <MemberSignature Language="C#" Value="public Atk.Relation GetRelationByType (Atk.RelationType relationship);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>Atk.Relation</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="relationship" Type="Atk.RelationType" />
      </Parameters>
      <Docs>
        <summary>Finds a relation that matches the specified type.</summary>
        <param name="relationship">An <see cref="T:Atk.RelationType" /></param>
        <returns>An <see cref="T:Atk.Relation" />, which is a relation matching the specified type.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Add">
      <MemberSignature Language="C#" Value="public void Add (Atk.Relation relation);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="relation" Type="Atk.Relation" />
      </Parameters>
      <Docs>
        <summary>Add a new relation to the current relation set if it is not already present.</summary>
        <param name="relation">an <see cref="T:Atk.Relation" /></param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Contains">
      <MemberSignature Language="C#" Value="public bool Contains (Atk.RelationType relationship);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="relationship" Type="Atk.RelationType" />
      </Parameters>
      <Docs>
        <summary>Determines whether the relation set contains a relation that matches the specified type.</summary>
        <param name="relationship">An <see cref="T:Atk.RelationType" />.</param>
        <returns>
          <see langword="true" /> if relationship is the relationship
          type of a relation in set, <see langword="false" /> otherwise.
        </returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Remove">
      <MemberSignature Language="C#" Value="public void Remove (Atk.Relation relation);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="relation" Type="Atk.Relation" />
      </Parameters>
      <Docs>
        <summary>Removes a relation from the relation set.</summary>
        <param name="relation">An <see cref="T:Atk.Relation" />.</param>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Disposes the resources associated with the object.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public RelationSet (IntPtr raw);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="raw" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="raw">Pointer to the C object.</param>
        <returns>An instance of RelationSet, wrapping the C object.</returns>
        <remarks>
          <para>This is an internal constructor, and should not be used by user code.</para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public RelationSet ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <returns>an object of type <see cref="T:Atk.RelationSet" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="NRelations">
      <MemberSignature Language="C#" Value="public int NRelations { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Determines the number of relations in a relation set.</summary>
        <returns>An integer representing the number of relations in the set.</returns>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="GType">
      <MemberSignature Language="C#" Value="public static GLib.GType GType { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>GLib.GType</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>GType Property.</summary>
        <returns>a <see cref="T:GLib.GType" /></returns>
        <remarks>Returns the native <see cref="T:GLib.GType" /> value for <see cref="T:Atk.RelationSet" />.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="protected RelationSet (GLib.GType gtype);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="gtype" Type="GLib.GType" />
      </Parameters>
      <Docs>
        <summary>Internal constructor</summary>
        <param name="gtype">a <see cref="T:GLib.GType" /></param>
        <returns>a <see cref="T:Atk.RelationSet" /></returns>
        <remarks>This is a constructor used by derivative types of <see cref="T:Atk.RelationSet" /> that would have their own GLib type assigned to it.  This is not typically used by C# code.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>