<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
  <compounddef id="group__TaskModelSetBranch" kind="group">
    <compoundname>TaskModelSetBranch</compoundname>
    <title>Branching</title>
    <innerclass refid="classGecode_1_1SetAFC" prot="public">Gecode::SetAFC</innerclass>
    <innerclass refid="classGecode_1_1SetActivity" prot="public">Gecode::SetActivity</innerclass>
    <innerclass refid="classGecode_1_1SetVarBranch" prot="public">Gecode::SetVarBranch</innerclass>
    <innerclass refid="classGecode_1_1SetValBranch" prot="public">Gecode::SetValBranch</innerclass>
    <innerclass refid="classGecode_1_1SetAssign" prot="public">Gecode::SetAssign</innerclass>
    <innergroup refid="group__TaskModelSetBranchVar">Selecting set variables</innergroup>
    <innergroup refid="group__TaskModelSetBranchVal">Value selection for set variables</innergroup>
    <innergroup refid="group__TaskModelSetBranchAssign">Assigning set variables</innergroup>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="group__TaskModelSetBranch_1gadd48606a449c14addbecf150180e38dd" prot="public" static="no">
        <type>bool(*</type>
        <definition>typedef bool(* Gecode::SetBranchFilter)(const Space &amp;home, SetVar x, int i)</definition>
        <argsstring>)(const Space &amp;home, SetVar x, int i)</argsstring>
        <name>SetBranchFilter</name>
        <briefdescription>
<para>Branch filter function type for set variables. </para>        </briefdescription>
        <detaileddescription>
<para>The variable <emphasis>x</emphasis> is considered for selection and <emphasis>i</emphasis> refers to the variable&apos;s position in the original array passed to the brancher. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1102" column="1" bodyfile="/usr/include/gecode/set.hh" bodystart="1102" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__TaskModelSetBranch_1ga268dda441c27ed5f438bdf2386e89fac" prot="public" static="no">
        <type>double(*</type>
        <definition>typedef double(* Gecode::SetBranchMerit)(const Space &amp;home, SetVar x, int i)</definition>
        <argsstring>)(const Space &amp;home, SetVar x, int i)</argsstring>
        <name>SetBranchMerit</name>
        <briefdescription>
<para>Branch merit function type for set variables. </para>        </briefdescription>
        <detaileddescription>
<para>The function must return a merit value for the variable <emphasis>x</emphasis>. The value <emphasis>i</emphasis> refers to the variable&apos;s position in the original array passed to the brancher. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1114" column="1" bodyfile="/usr/include/gecode/set.hh" bodystart="1114" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__TaskModelSetBranch_1gaf4fd23ef1eceb32a440e0183a2ae0346" prot="public" static="no">
        <type>int(*</type>
        <definition>typedef int(* Gecode::SetBranchVal)(const Space &amp;home, SetVar x, int i)</definition>
        <argsstring>)(const Space &amp;home, SetVar x, int i)</argsstring>
        <name>SetBranchVal</name>
        <briefdescription>
<para>Branch value function type for set variables. </para>        </briefdescription>
        <detaileddescription>
<para>Returns a value for the variable <emphasis>x</emphasis> that is to be used in the corresponding branch commit function. The integer <emphasis>i</emphasis> refers to the variable&apos;s position in the original array passed to the brancher. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1126" column="1" bodyfile="/usr/include/gecode/set.hh" bodystart="1126" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="group__TaskModelSetBranch_1gadec0414377e8be38b2cd3113d5fd9abd" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* Gecode::SetBranchCommit)(Space &amp;home, unsigned int a, SetVar x, int i, int n)</definition>
        <argsstring>)(Space &amp;home, unsigned int a, SetVar x, int i, int n)</argsstring>
        <name>SetBranchCommit</name>
        <briefdescription>
<para>Branch commit function type for set variables. </para>        </briefdescription>
        <detaileddescription>
<para>The function must post a constraint on the variable <emphasis>x</emphasis> which corresponds to the alternative <emphasis>a</emphasis>. The integer <emphasis>i</emphasis> refers to the variable&apos;s position in the original array passed to the brancher. The value <emphasis>n</emphasis> is the value computed by the corresponding branch value function. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1139" column="1" bodyfile="/usr/include/gecode/set.hh" bodystart="1139" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="group__TaskModelSetBranch_1ga1db0e4935a1c5310e7d3cff8720a08fc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::branch</definition>
        <argsstring>(Home home, const SetVarArgs &amp;x, SetVarBranch vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)</argsstring>
        <name>branch</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>const SetVarArgs &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>SetVarBranch</type>
          <declname>vars</declname>
        </param>
        <param>
          <type>SetValBranch</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>SetBranchFilter</type>
          <declname>bf</declname>
          <defval>NULL</defval>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Branch over <emphasis>x</emphasis> with variable selection <emphasis>vars</emphasis> and value selection <emphasis>vals</emphasis>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1522" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1gac97674edc8861e58dffa0c7fcf893b41" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::branch</definition>
        <argsstring>(Home home, const SetVarArgs &amp;x, TieBreak&lt; SetVarBranch &gt; vars, SetValBranch vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)</argsstring>
        <name>branch</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>const SetVarArgs &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>TieBreak&lt; SetVarBranch &gt;</type>
          <declname>vars</declname>
        </param>
        <param>
          <type>SetValBranch</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>SetBranchFilter</type>
          <declname>bf</declname>
          <defval>NULL</defval>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Branch over <emphasis>x</emphasis> with tie-breaking variable selection <emphasis>vars</emphasis> and value selection <emphasis>vals</emphasis>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1532" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1gad4a8a67f7f6fdb23e4322b6b69a9b106" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::branch</definition>
        <argsstring>(Home home, SetVar x, SetValBranch vals, SetVarValPrint vvp=NULL)</argsstring>
        <name>branch</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>SetVar</type>
          <declname>x</declname>
        </param>
        <param>
          <type>SetValBranch</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Branch over <emphasis>x</emphasis> with value selection <emphasis>vals</emphasis>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1542" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1ga4a2d1fbca126817cbe07bbd111690bab" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::assign</definition>
        <argsstring>(Home home, const SetVarArgs &amp;x, SetAssign vals, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)</argsstring>
        <name>assign</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>const SetVarArgs &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>SetAssign</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>SetBranchFilter</type>
          <declname>bf</declname>
          <defval>NULL</defval>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Assign all <emphasis>x</emphasis> with value selection <emphasis>vals</emphasis>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1550" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1gac94584a75ebe5ab875997f0586602378" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::assign</definition>
        <argsstring>(Home home, SetVar x, SetAssign vals, SetVarValPrint vvp=NULL)</argsstring>
        <name>assign</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>SetVar</type>
          <declname>x</declname>
        </param>
        <param>
          <type>SetAssign</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Assign <emphasis>x</emphasis> with value selection <emphasis>vals</emphasis>. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1559" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1ga04ad4831395b698cfe3cb25b16362d2b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::branch</definition>
        <argsstring>(Home home, const SetVarArgs &amp;x, SetVarBranch vars, SetValBranch vals, const Symmetries &amp;syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)</argsstring>
        <name>branch</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>const SetVarArgs &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>SetVarBranch</type>
          <declname>vars</declname>
        </param>
        <param>
          <type>SetValBranch</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>const Symmetries &amp;</type>
          <declname>syms</declname>
        </param>
        <param>
          <type>SetBranchFilter</type>
          <declname>bf</declname>
          <defval>NULL</defval>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Branch over <emphasis>x</emphasis> with variable selection <emphasis>vars</emphasis> and value selection <emphasis>vals</emphasis> with symmetry breaking. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1582" column="1"/>
      </memberdef>
      <memberdef kind="function" id="group__TaskModelSetBranch_1ga4c99114bbb653a5b96a2d284e72198c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>GECODE_SET_EXPORT BrancherHandle</type>
        <definition>GECODE_SET_EXPORT BrancherHandle Gecode::branch</definition>
        <argsstring>(Home home, const SetVarArgs &amp;x, TieBreak&lt; SetVarBranch &gt; vars, SetValBranch vals, const Symmetries &amp;syms, SetBranchFilter bf=NULL, SetVarValPrint vvp=NULL)</argsstring>
        <name>branch</name>
        <param>
          <type>Home</type>
          <declname>home</declname>
        </param>
        <param>
          <type>const SetVarArgs &amp;</type>
          <declname>x</declname>
        </param>
        <param>
          <type>TieBreak&lt; SetVarBranch &gt;</type>
          <declname>vars</declname>
        </param>
        <param>
          <type>SetValBranch</type>
          <declname>vals</declname>
        </param>
        <param>
          <type>const Symmetries &amp;</type>
          <declname>syms</declname>
        </param>
        <param>
          <type>SetBranchFilter</type>
          <declname>bf</declname>
          <defval>NULL</defval>
        </param>
        <param>
          <type>SetVarValPrint</type>
          <declname>vvp</declname>
          <defval>NULL</defval>
        </param>
        <briefdescription>
<para>Branch over <emphasis>x</emphasis> with tie-breaking variable selection <emphasis>vars</emphasis> and value selection <emphasis>vals</emphasis> with symmetry breaking. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/usr/include/gecode/set.hh" line="1594" column="1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
  </compounddef>
</doxygen>