This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/gecode/dev/extractor/xml/dom-sup_8hpp.xml
Vitor Santos Costa a8eda03305 4.2.1 support
2014-01-22 09:41:47 +00:00

1568 lines
340 KiB
XML

<?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="dom-sup_8hpp" kind="file">
<compoundname>dom-sup.hpp</compoundname>
<includedby refid="gcc_8hh" local="no">/usr/include/gecode/int/gcc.hh</includedby>
<invincdepgraph>
<node id="15719">
<label>/usr/include/gecode/int/gcc.hh</label>
<link refid="gcc_8hh_source"/>
</node>
<node id="15718">
<label>/usr/include/gecode/int/gcc/dom-sup.hpp</label>
<link refid="dom-sup.hpp"/>
<childnode refid="15719" relation="include">
</childnode>
</node>
</invincdepgraph>
<innerclass refid="classGecode_1_1Int_1_1GCC_1_1Node" prot="public">Gecode::Int::GCC::Node</innerclass>
<innerclass refid="classGecode_1_1Int_1_1GCC_1_1VarNode" prot="public">Gecode::Int::GCC::VarNode</innerclass>
<innerclass refid="classGecode_1_1Int_1_1GCC_1_1ValNode" prot="public">Gecode::Int::GCC::ValNode</innerclass>
<innerclass refid="classGecode_1_1Int_1_1GCC_1_1Edge" prot="public">Gecode::Int::GCC::Edge</innerclass>
<innerclass refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph" prot="public">Gecode::Int::GCC::VarValGraph</innerclass>
<innernamespace refid="namespaceGecode">Gecode</innernamespace>
<innernamespace refid="namespaceGecode_1_1Int">Gecode::Int</innernamespace>
<innernamespace refid="namespaceGecode_1_1Int_1_1GCC">Gecode::Int::GCC</innernamespace>
<briefdescription>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*<sp/>-*-<sp/>mode:<sp/>C++;<sp/>c-basic-offset:<sp/>2;<sp/>indent-tabs-mode:<sp/>nil<sp/>-*-<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>*<sp/><sp/>Main<sp/>authors:</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Patrick<sp/>Pekczynski<sp/>&lt;pekczynski@ps.uni-sb.de&gt;</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/><sp/>Contributing<sp/>authors:</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Christian<sp/>Schulte<sp/>&lt;schulte@gecode.org&gt;</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Guido<sp/>Tack<sp/>&lt;tack@gecode.org&gt;</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/>Copyright:</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Patrick<sp/>Pekczynski,<sp/>2005</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Christian<sp/>Schulte,<sp/>2009</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Guido<sp/>Tack,<sp/>2009</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/><sp/>Last<sp/>modified:</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Date:<sp/>2013-03-12<sp/>20:10:44<sp/>+0100<sp/>(Tue,<sp/>12<sp/>Mar<sp/>2013)<sp/>$<sp/>by<sp/>$Author:<sp/>schulte<sp/>$</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Revision:<sp/>13511<sp/>$</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>file<sp/>is<sp/>part<sp/>of<sp/>Gecode,<sp/>the<sp/>generic<sp/>constraint</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>*<sp/><sp/>development<sp/>environment:</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>http://www.gecode.org</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="23"><highlight class="comment"><sp/>*<sp/><sp/>Permission<sp/>is<sp/>hereby<sp/>granted,<sp/>free<sp/>of<sp/>charge,<sp/>to<sp/>any<sp/>person<sp/>obtaining</highlight></codeline>
<codeline lineno="24"><highlight class="comment"><sp/>*<sp/><sp/>a<sp/>copy<sp/>of<sp/>this<sp/>software<sp/>and<sp/>associated<sp/>documentation<sp/>files<sp/>(the</highlight></codeline>
<codeline lineno="25"><highlight class="comment"><sp/>*<sp/><sp/>&quot;Software&quot;),<sp/>to<sp/>deal<sp/>in<sp/>the<sp/>Software<sp/>without<sp/>restriction,<sp/>including</highlight></codeline>
<codeline lineno="26"><highlight class="comment"><sp/>*<sp/><sp/>without<sp/>limitation<sp/>the<sp/>rights<sp/>to<sp/>use,<sp/>copy,<sp/>modify,<sp/>merge,<sp/>publish,</highlight></codeline>
<codeline lineno="27"><highlight class="comment"><sp/>*<sp/><sp/>distribute,<sp/>sublicense,<sp/>and/or<sp/>sell<sp/>copies<sp/>of<sp/>the<sp/>Software,<sp/>and<sp/>to</highlight></codeline>
<codeline lineno="28"><highlight class="comment"><sp/>*<sp/><sp/>permit<sp/>persons<sp/>to<sp/>whom<sp/>the<sp/>Software<sp/>is<sp/>furnished<sp/>to<sp/>do<sp/>so,<sp/>subject<sp/>to</highlight></codeline>
<codeline lineno="29"><highlight class="comment"><sp/>*<sp/><sp/>the<sp/>following<sp/>conditions:</highlight></codeline>
<codeline lineno="30"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="31"><highlight class="comment"><sp/>*<sp/><sp/>The<sp/>above<sp/>copyright<sp/>notice<sp/>and<sp/>this<sp/>permission<sp/>notice<sp/>shall<sp/>be</highlight></codeline>
<codeline lineno="32"><highlight class="comment"><sp/>*<sp/><sp/>included<sp/>in<sp/>all<sp/>copies<sp/>or<sp/>substantial<sp/>portions<sp/>of<sp/>the<sp/>Software.</highlight></codeline>
<codeline lineno="33"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="34"><highlight class="comment"><sp/>*<sp/><sp/>THE<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>&quot;AS<sp/>IS&quot;,<sp/>WITHOUT<sp/>WARRANTY<sp/>OF<sp/>ANY<sp/>KIND,</highlight></codeline>
<codeline lineno="35"><highlight class="comment"><sp/>*<sp/><sp/>EXPRESS<sp/>OR<sp/>IMPLIED,<sp/>INCLUDING<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO<sp/>THE<sp/>WARRANTIES<sp/>OF</highlight></codeline>
<codeline lineno="36"><highlight class="comment"><sp/>*<sp/><sp/>MERCHANTABILITY,<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>AND</highlight></codeline>
<codeline lineno="37"><highlight class="comment"><sp/>*<sp/><sp/>NONINFRINGEMENT.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE<sp/>AUTHORS<sp/>OR<sp/>COPYRIGHT<sp/>HOLDERS<sp/>BE</highlight></codeline>
<codeline lineno="38"><highlight class="comment"><sp/>*<sp/><sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>CLAIM,<sp/>DAMAGES<sp/>OR<sp/>OTHER<sp/>LIABILITY,<sp/>WHETHER<sp/>IN<sp/>AN<sp/>ACTION</highlight></codeline>
<codeline lineno="39"><highlight class="comment"><sp/>*<sp/><sp/>OF<sp/>CONTRACT,<sp/>TORT<sp/>OR<sp/>OTHERWISE,<sp/>ARISING<sp/>FROM,<sp/>OUT<sp/>OF<sp/>OR<sp/>IN<sp/>CONNECTION</highlight></codeline>
<codeline lineno="40"><highlight class="comment"><sp/>*<sp/><sp/>WITH<sp/>THE<sp/>SOFTWARE<sp/>OR<sp/>THE<sp/>USE<sp/>OR<sp/>OTHER<sp/>DEALINGS<sp/>IN<sp/>THE<sp/>SOFTWARE.</highlight></codeline>
<codeline lineno="41"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="42"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Gecode<sp/>{<sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Int<sp/>{<sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">GCC<sp/>{</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="52" refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>{UBC<sp/>=<sp/>1,<sp/>LBC<sp/>=<sp/>0};</highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal">Edge;</highlight></codeline>
<codeline lineno="56" refid="classGecode_1_1Int_1_1GCC_1_1Node" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref><sp/>{</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="59" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a0d2c61bb43ea6aec77fd89305334bd10" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a0d2c61bb43ea6aec77fd89305334bd10" kindref="member">e</ref>;</highlight></codeline>
<codeline lineno="61" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a7bb2a663649ed86b55c79458f2ad31e0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a7bb2a663649ed86b55c79458f2ad31e0" kindref="member">fst</ref>;</highlight></codeline>
<codeline lineno="63" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a17e8f77215a89c1a26e546fa3af4740c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a17e8f77215a89c1a26e546fa3af4740c" kindref="member">lst</ref>;</highlight></codeline>
<codeline lineno="65" refid="classGecode_1_1Int_1_1GCC_1_1Node_1adc4d648ab1c3d5cb74e6ced2dc977f0d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1adc4d648ab1c3d5cb74e6ced2dc977f0d" kindref="member">ie</ref>;</highlight></codeline>
<codeline lineno="67" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a55c6f06c62a192f3e5431a99e1d0dc0b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a55c6f06c62a192f3e5431a99e1d0dc0b" kindref="member">idx</ref>;</highlight></codeline>
<codeline lineno="69" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7" kindref="member">NodeFlag</ref><sp/>{</highlight></codeline>
<codeline lineno="71" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a912a2161ed6406de0ba0c4ee2d4501e1" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a912a2161ed6406de0ba0c4ee2d4501e1" kindref="member">NF_NONE</ref><sp/><sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="73" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a605e59e130c9e5582a1772a20a444975" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a605e59e130c9e5582a1772a20a444975" kindref="member">NF_VAL</ref><sp/><sp/><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>0,</highlight></codeline>
<codeline lineno="75" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7af8e2c12a55f4415028f8b8ca3226ed05" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7af8e2c12a55f4415028f8b8ca3226ed05" kindref="member">NF_M_LBC</ref><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>1,</highlight></codeline>
<codeline lineno="77" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a57ef9affd4631f09b4703058becb1f59" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a57ef9affd4631f09b4703058becb1f59" kindref="member">NF_M_UBC</ref><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>2</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="80" refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref>;</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="83" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>;</highlight></codeline>
<codeline lineno="84"><highlight class="normal"></highlight></codeline>
<codeline lineno="86"></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac2e891d6c49e0002f06faa7ea4323285" kindref="member">Node</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac2e891d6c49e0002f06faa7ea4323285" kindref="member">Node</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7" kindref="member">NodeFlag</ref><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref>,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i);</highlight></codeline>
<codeline lineno="92"></codeline>
<codeline lineno="94"></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">adj</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">inedge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a50e057086821aaf80544b21f687ba73e" kindref="member">removed</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="110"></codeline>
<codeline lineno="112"></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p);</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p);</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">inedge</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p);</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i);</highlight></codeline>
<codeline lineno="122"></codeline>
<codeline lineno="124"></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>s,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="128" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a31e65604d805c4cdbd63380e3f9cb80d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;)<sp/>{};</highlight></codeline>
<codeline lineno="130" refid="classGecode_1_1Int_1_1GCC_1_1Node_1ad930406587c2876a9e5a7c0bafd42e87" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*)<sp/>{};</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight></codeline>
<codeline lineno="135" refid="classGecode_1_1Int_1_1GCC_1_1VarNode" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref><sp/>{</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="138" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a12fee9c9328f1b66a8571d121d594ad9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a12fee9c9328f1b66a8571d121d594ad9" kindref="member">ubm</ref>;</highlight></codeline>
<codeline lineno="140" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad1a07928a211bcbc2cf6cef49c9335c2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad1a07928a211bcbc2cf6cef49c9335c2" kindref="member">lbm</ref>;</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="143"></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a93b09c64c481fe27b4aba6c1cc605bc9" kindref="member">VarNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a93b09c64c481fe27b4aba6c1cc605bc9" kindref="member">VarNode</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i);</highlight></codeline>
<codeline lineno="149"></codeline>
<codeline lineno="151"></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">get_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a9454a6ececa6d47a19df2293244d5f4e" kindref="member">matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="157"></codeline>
<codeline lineno="159"></codeline>
<codeline lineno="160"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad14164bad6e2f1c543cf318f46c99bfc" kindref="member">set_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>m);</highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a7a9f94fd004d2b003d81cf8b0333b496" kindref="member">match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1af69881d9b05fd4e5cce007d7cacda2b0" kindref="member">unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="168"><highlight class="normal"></highlight></codeline>
<codeline lineno="170" refid="classGecode_1_1Int_1_1GCC_1_1ValNode" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref><sp/>{</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="173" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref>;</highlight></codeline>
<codeline lineno="175" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>;</highlight></codeline>
<codeline lineno="177" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a097ba5a3c22b5e46eb422566b75bb1a9" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a097ba5a3c22b5e46eb422566b75bb1a9" kindref="member">_kidx</ref>;</highlight></codeline>
<codeline lineno="179" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref>;</highlight></codeline>
<codeline lineno="181" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" kindref="member">noc</ref>;</highlight></codeline>
<codeline lineno="183" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>;</highlight></codeline>
<codeline lineno="185" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref>;</highlight></codeline>
<codeline lineno="187" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref>;</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="190" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>;</highlight></codeline>
<codeline lineno="191"><highlight class="normal"></highlight></codeline>
<codeline lineno="193"></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad0885ccf3216d4f799220e06b3d5a86b" kindref="member">ValNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad0885ccf3216d4f799220e06b3d5a86b" kindref="member">ValNode</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>value,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kidx,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kshift,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref>);</highlight></codeline>
<codeline lineno="205"></codeline>
<codeline lineno="207"></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4c09b6ae0de7baae41756045ffa04c15" kindref="member">card_conflict</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c);</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4c09b6ae0de7baae41756045ffa04c15" kindref="member">card_conflict</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae3a227a5ee9b6c5cf0dc7345345fb7a9" kindref="member">red_conflict</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">inc</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">incid_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">kindex</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8eea126662b0add9ec0019f965a9bf73" kindref="member">matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6d73262ba34b5fa22dfb0d8a3b9afc5c" kindref="member">sink</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a08f121c4c521014a29bd0fea16132a38" kindref="member">source</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd3f9b51dfa97fedb2a13d1730fb3989" kindref="member">kbound</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="237"></codeline>
<codeline lineno="239"></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i);</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">kindex</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="247"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ac6503d26855268e1b0b804a9482a28e3" kindref="member">dec</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="249"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">inc</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c);</highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1aa41f4ac45743954c5739638c28a2afea" kindref="member">match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a452e3af51c84bfb94122b414f7754caf" kindref="member">unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a573bd0ca16e27c455ce55ec25914c5e9" kindref="member">reset</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min);</highlight></codeline>
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max);</highlight></codeline>
<codeline lineno="265"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="266"><highlight class="normal"></highlight></codeline>
<codeline lineno="268" refid="classGecode_1_1Int_1_1GCC_1_1Edge" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref><sp/>{</highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>x;</highlight></codeline>
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v;</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>next_edge;</highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>prev_edge;</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>next_vedge;</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>prev_vedge;</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/>EdgeFlag<sp/>{</highlight></codeline>
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_NONE<sp/><sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_MRKLB<sp/>=<sp/>1<sp/>&lt;&lt;<sp/>0,</highlight></codeline>
<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_MRKUB<sp/>=<sp/>1<sp/>&lt;&lt;<sp/>1,</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_LM<sp/><sp/><sp/><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>2,</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_UM<sp/><sp/><sp/><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>3,</highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>EF_DEL<sp/><sp/><sp/>=<sp/>1<sp/>&lt;&lt;<sp/>4</highlight></codeline>
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>ef;</highlight></codeline>
<codeline lineno="299"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="301"></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ab28e5b8fc46255000803553efec07595" kindref="member">Edge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ab28e5b8fc46255000803553efec07595" kindref="member">Edge</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>x,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v);</highlight></codeline>
<codeline lineno="310"></codeline>
<codeline lineno="312"></codeline>
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a5a9d7039c58acc207853767b7deecbe8" kindref="member">used</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aee5024f5c7233a4155126cc9640570f2" kindref="member">matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a2f5aecd7e0102c45ef3661cdd19aeb87" kindref="member">deleted</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aa1e3552cec33d11d2f43661f221fd147" kindref="member">next</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>t)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aa1e3552cec33d11d2f43661f221fd147" kindref="member">next</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a4ed655c9a7dff30839cb5547eb862e37" kindref="member">prev</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a56e0daf21e53815611149c113ac91f41" kindref="member">vnext</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a092267ea4cac522ed59987ef29e2e5c1" kindref="member">vprev</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae0e534f9a6ae056cdb985c4a0e5cddb0" kindref="member">getVar</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="341"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9f98312738c4c2289fab8e0ac1326e69" kindref="member">getMate</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>t)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="343"></codeline>
<codeline lineno="345"></codeline>
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aaf7f4665485a2433ba772a94368af570" kindref="member">use</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="349"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">free</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="351"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae3616075331e1508df54e11c018fe093" kindref="member">reset</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="353"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a3ac36974b198d4821487f8ee38a8765a" kindref="member">match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="355"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc);</highlight></codeline>
<codeline lineno="357"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>t);</highlight></codeline>
<codeline lineno="359"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9582e1be76e202cf981a501669f9c016" kindref="member">unlink</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aca061a02c63509d51cf0003e9c5cfa31" kindref="member">del_edge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a12514a4bae40e9f5991216cc180020b0" kindref="member">insert_edge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="365"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" kindref="member">next_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="367"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a35eaa53dfcc5d831534abd2cfc52d49c" kindref="member">prev_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="369"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a38733929ac1beabc558fa58b7e9c1be2" kindref="member">vnext_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a10a946037094032d1c6dcd6fb89748fb" kindref="member">vprev_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="373"></codeline>
<codeline lineno="375"></codeline>
<codeline lineno="376"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>s,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="379" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a1efa6da26c8ab3c2fa384d58a4197ed5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;)<sp/>{};</highlight></codeline>
<codeline lineno="381" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ad0533ee7c707210fa4e8adf4c4f9d5c0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*)<sp/>{};</highlight></codeline>
<codeline lineno="383"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="384"><highlight class="normal"></highlight></codeline>
<codeline lineno="385"><highlight class="normal"></highlight></codeline>
<codeline lineno="390"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;</highlight></codeline>
<codeline lineno="391" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph" kindref="compound">VarValGraph</ref><sp/>{</highlight></codeline>
<codeline lineno="392"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">Support::StaticStack&lt;Node*,Region&gt;</ref><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref>;</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">Support::BitSet&lt;Region&gt;</ref><sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">BitSet</ref>;</highlight></codeline>
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>**<sp/>vars;</highlight></codeline>
<codeline lineno="406"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>**<sp/>vals;</highlight></codeline>
<codeline lineno="408"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n_var;</highlight></codeline>
<codeline lineno="414"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n_val;</highlight></codeline>
<codeline lineno="416"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n_node;</highlight></codeline>
<codeline lineno="422"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>sum_min;</highlight></codeline>
<codeline lineno="428"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>sum_max;</highlight></codeline>
<codeline lineno="429"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="431"></codeline>
<codeline lineno="432"></codeline>
<codeline lineno="438"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ae6499fa8443049edc57141b7bb7c06b0" kindref="member">VarValGraph</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,</highlight></codeline>
<codeline lineno="439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k,</highlight></codeline>
<codeline lineno="440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>smin,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>smax);</highlight></codeline>
<codeline lineno="442"></codeline>
<codeline lineno="444"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a48e205f62c8119b4e584fb7ea126a9d1" kindref="member">min_require</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,<sp/></highlight></codeline>
<codeline lineno="446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k);</highlight></codeline>
<codeline lineno="447"><highlight class="normal"></highlight></codeline>
<codeline lineno="456"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ac7c87ace7b4ed1a45519b67c6516d4f2" kindref="member">sync</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,</highlight></codeline>
<codeline lineno="457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k);</highlight></codeline>
<codeline lineno="459"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="460"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a7f5d82ac5cd5dec53c3fa8fb79d2b2d9" kindref="member">narrow</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,</highlight></codeline>
<codeline lineno="461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k);</highlight></codeline>
<codeline lineno="462"><highlight class="normal"></highlight></codeline>
<codeline lineno="469"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="470"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1aa153a3c4dd30ae1ad4694d9b5fcd2af7" kindref="member">maximum_matching</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="471"><highlight class="normal"></highlight></codeline>
<codeline lineno="473"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="474"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a15393f37ca1ac03615575b863b09c1f7" kindref="member">free_alternating_paths</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="476"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="477"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1aff26df79d05e41d225d66c498b8d359f" kindref="member">strongly_connected_components</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="483"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="484"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a867c4015a2adadd9b1566301c99f3563" kindref="member">augmenting_path</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*);</highlight></codeline>
<codeline lineno="485"><highlight class="normal"></highlight></codeline>
<codeline lineno="486"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="493"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC&gt;</highlight></codeline>
<codeline lineno="494"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a8dd08f55c53dcfcd42e7240ba11f9756" kindref="member">dfs</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*,<sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">BitSet</ref>&amp;,<sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">BitSet</ref>&amp;,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">[],</highlight></codeline>
<codeline lineno="495"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref>&amp;,<sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref>&amp;,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">&amp;);</highlight></codeline>
<codeline lineno="496"><highlight class="normal"></highlight></codeline>
<codeline lineno="498"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="500"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>t,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home);</highlight></codeline>
<codeline lineno="502" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a58f65a37f68e3694e7af791c8ae074ab" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">operator</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">delete</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;)<sp/>{}</highlight></codeline>
<codeline lineno="503"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="504"><highlight class="normal"></highlight></codeline>
<codeline lineno="505"><highlight class="normal"></highlight></codeline>
<codeline lineno="506"><highlight class="normal"></highlight></codeline>
<codeline lineno="507"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="508"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Nodes</highlight></codeline>
<codeline lineno="509"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="510"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="511"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="512" refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac2e891d6c49e0002f06faa7ea4323285" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac2e891d6c49e0002f06faa7ea4323285" kindref="member">Node::Node</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="513"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="514" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a1ebfc93c7997b241fc4f9ec88a31f964" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac2e891d6c49e0002f06faa7ea4323285" kindref="member">Node::Node</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7" kindref="member">NodeFlag</ref><sp/>nf0,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i)<sp/></highlight></codeline>
<codeline lineno="515"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/>e(NULL),<sp/>fst(NULL),<sp/>lst(NULL),<sp/>ie(NULL),<sp/>idx(i),<sp/></highlight></codeline>
<codeline lineno="516"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>nf(static_cast&lt;unsigned<sp/>char&gt;(nf0)),<sp/>noe(0)<sp/>{}</highlight></codeline>
<codeline lineno="517"><highlight class="normal"></highlight></codeline>
<codeline lineno="518"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**</highlight></codeline>
<codeline lineno="519" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">Node::adj</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="520"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a0d2c61bb43ea6aec77fd89305334bd10" kindref="member">e</ref>;</highlight></codeline>
<codeline lineno="521"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="522"><highlight class="normal"><sp/><sp/>forceinline<sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="523" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">Node::first</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="524"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a7bb2a663649ed86b55c79458f2ad31e0" kindref="member">fst</ref>;</highlight></codeline>
<codeline lineno="525"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="526"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="527" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">Node::last</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="528"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a17e8f77215a89c1a26e546fa3af4740c" kindref="member">lst</ref>;</highlight></codeline>
<codeline lineno="529"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="530"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="531" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a11043245ac40d8d788756898830e9b18" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">Node::first</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p)<sp/>{</highlight></codeline>
<codeline lineno="532"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a7bb2a663649ed86b55c79458f2ad31e0" kindref="member">fst</ref><sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="533"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="534"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="535" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aca8c02020d13fb5b110569c20e04cc94" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">Node::last</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p)<sp/>{</highlight></codeline>
<codeline lineno="536"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a17e8f77215a89c1a26e546fa3af4740c" kindref="member">lst</ref><sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="537"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="538"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="539" refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">Node::type</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="540"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>&amp;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a605e59e130c9e5582a1772a20a444975" kindref="member">NF_VAL</ref>)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="541"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="542"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="543" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">Node::inedge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="544"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1adc4d648ab1c3d5cb74e6ced2dc977f0d" kindref="member">ie</ref>;</highlight></codeline>
<codeline lineno="545"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="546"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="547" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a49d3a8247a7f432c38e0fd9068a9fc" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">Node::inedge</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p)<sp/>{</highlight></codeline>
<codeline lineno="548"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1adc4d648ab1c3d5cb74e6ced2dc977f0d" kindref="member">ie</ref><sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="549"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="550"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="551" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a50e057086821aaf80544b21f687ba73e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a50e057086821aaf80544b21f687ba73e" kindref="member">Node::removed</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="552"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>==<sp/>0;</highlight></codeline>
<codeline lineno="553"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="554"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="555" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a4482bd92486fb830a6c5ad5ec5774e9c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">Node::index</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="556"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a55c6f06c62a192f3e5431a99e1d0dc0b" kindref="member">idx</ref><sp/>=<sp/>i;</highlight></codeline>
<codeline lineno="557"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="558"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="559" refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">Node::index</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="560"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a55c6f06c62a192f3e5431a99e1d0dc0b" kindref="member">idx</ref>;</highlight></codeline>
<codeline lineno="561"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="562"><highlight class="normal"></highlight></codeline>
<codeline lineno="563"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*</highlight></codeline>
<codeline lineno="564" refid="classGecode_1_1Int_1_1GCC_1_1Node_1ab30b712c5523b945a3e229b01a5014e8" refkind="member"><highlight class="normal"><sp/><sp/>Node::operator<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>s,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="565"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>home.ralloc(s);</highlight></codeline>
<codeline lineno="566"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="567"><highlight class="normal"></highlight></codeline>
<codeline lineno="568"><highlight class="normal"></highlight></codeline>
<codeline lineno="569"><highlight class="normal"></highlight></codeline>
<codeline lineno="570"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="571"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Variable<sp/>nodes</highlight></codeline>
<codeline lineno="572"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="573"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="574"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="575" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a93b09c64c481fe27b4aba6c1cc605bc9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a93b09c64c481fe27b4aba6c1cc605bc9" kindref="member">VarNode::VarNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="576"><highlight class="normal"></highlight></codeline>
<codeline lineno="577"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="578" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a3272c6393b68010e1979f7b9cdd801ee" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a93b09c64c481fe27b4aba6c1cc605bc9" kindref="member">VarNode::VarNode</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x)<sp/>:</highlight></codeline>
<codeline lineno="579"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>(NF_NONE,x),<sp/>ubm(NULL),<sp/>lbm(NULL)<sp/>{}</highlight></codeline>
<codeline lineno="580"><highlight class="normal"></highlight></codeline>
<codeline lineno="581"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="582" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a9454a6ececa6d47a19df2293244d5f4e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a9454a6ececa6d47a19df2293244d5f4e" kindref="member">VarNode::matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="583"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="584"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>&amp;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a57ef9affd4631f09b4703058becb1f59" kindref="member">NF_M_UBC</ref>)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="585"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="586"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>&amp;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7af8e2c12a55f4415028f8b8ca3226ed05" kindref="member">NF_M_LBC</ref>)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="587"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="588"><highlight class="normal"></highlight></codeline>
<codeline lineno="589"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="590" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a7a9f94fd004d2b003d81cf8b0333b496" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a7a9f94fd004d2b003d81cf8b0333b496" kindref="member">VarNode::match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="591"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>|=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a57ef9affd4631f09b4703058becb1f59" kindref="member">NF_M_UBC</ref>;</highlight></codeline>
<codeline lineno="593"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>|=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7af8e2c12a55f4415028f8b8ca3226ed05" kindref="member">NF_M_LBC</ref>;</highlight></codeline>
<codeline lineno="595"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="596"><highlight class="normal"></highlight></codeline>
<codeline lineno="597"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="598" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad14164bad6e2f1c543cf318f46c99bfc" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad14164bad6e2f1c543cf318f46c99bfc" kindref="member">VarNode::set_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p)<sp/>{</highlight></codeline>
<codeline lineno="599"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a12fee9c9328f1b66a8571d121d594ad9" kindref="member">ubm</ref><sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="601"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad1a07928a211bcbc2cf6cef49c9335c2" kindref="member">lbm</ref><sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="603"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="604"><highlight class="normal"></highlight></codeline>
<codeline lineno="605"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="606" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1af69881d9b05fd4e5cce007d7cacda2b0" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1af69881d9b05fd4e5cce007d7cacda2b0" kindref="member">VarNode::unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="607"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)<sp/>{</highlight></codeline>
<codeline lineno="608"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>&amp;=<sp/>~<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7a57ef9affd4631f09b4703058becb1f59" kindref="member">NF_M_UBC</ref>;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a12fee9c9328f1b66a8571d121d594ad9" kindref="member">ubm</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="609"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="610"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1ac5c94cafd4b6c87f7d90026272a72db0" kindref="member">nf</ref><sp/>&amp;=<sp/>~<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa9b75ce9bb8914f6f32e272ad9cc93e7af8e2c12a55f4415028f8b8ca3226ed05" kindref="member">NF_M_LBC</ref>;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad1a07928a211bcbc2cf6cef49c9335c2" kindref="member">lbm</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="611"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="612"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="613"><highlight class="normal"></highlight></codeline>
<codeline lineno="614"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="615" refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">VarNode::get_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="616"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a12fee9c9328f1b66a8571d121d594ad9" kindref="member">ubm</ref>;</highlight></codeline>
<codeline lineno="618"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad1a07928a211bcbc2cf6cef49c9335c2" kindref="member">lbm</ref>;</highlight></codeline>
<codeline lineno="620"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="621"><highlight class="normal"></highlight></codeline>
<codeline lineno="622"><highlight class="normal"></highlight></codeline>
<codeline lineno="623"><highlight class="normal"></highlight></codeline>
<codeline lineno="624"><highlight class="normal"></highlight></codeline>
<codeline lineno="625"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="626"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Value<sp/>nodes</highlight></codeline>
<codeline lineno="627"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="628"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="629"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="630" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad0885ccf3216d4f799220e06b3d5a86b" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad0885ccf3216d4f799220e06b3d5a86b" kindref="member">ValNode::ValNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="631"><highlight class="normal"></highlight></codeline>
<codeline lineno="632"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="633" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a835f12bce1f5ffbf1700ee23af23bfd1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad0885ccf3216d4f799220e06b3d5a86b" kindref="member">ValNode::ValNode</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>min,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>max,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>value,</highlight></codeline>
<codeline lineno="634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kidx,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kshift,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref>)<sp/>:</highlight></codeline>
<codeline lineno="635"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>(NF_VAL,kshift),<sp/>_klb(min),<sp/>_kub(max),<sp/>_kidx(kidx),<sp/>_kcount(count),</highlight></codeline>
<codeline lineno="636"><highlight class="normal"><sp/><sp/><sp/><sp/>noc(0),</highlight></codeline>
<codeline lineno="637"><highlight class="normal"><sp/><sp/><sp/><sp/>lb(min),<sp/>ublow(max),<sp/>ub(max),</highlight></codeline>
<codeline lineno="638"><highlight class="normal"><sp/><sp/><sp/><sp/>val(value)<sp/>{}</highlight></codeline>
<codeline lineno="639"><highlight class="normal"></highlight></codeline>
<codeline lineno="640"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="641" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4d914923885f3e15d3711929fffa1c00" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">ValNode::maxlow</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="642"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(i<sp/>&gt;=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>);</highlight></codeline>
<codeline lineno="643"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref><sp/>=<sp/>i;</highlight></codeline>
<codeline lineno="644"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="645"><highlight class="normal"></highlight></codeline>
<codeline lineno="646"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="647" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">ValNode::maxlow</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="648"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref><sp/>==<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>)<sp/>{</highlight></codeline>
<codeline lineno="649"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>assert(<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref><sp/>==<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>);</highlight></codeline>
<codeline lineno="650"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="651"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref>;</highlight></codeline>
<codeline lineno="652"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="653"><highlight class="normal"></highlight></codeline>
<codeline lineno="654"><highlight class="normal"></highlight></codeline>
<codeline lineno="655"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="656" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5849f34d85484db97c42e3395024a9c8" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4c09b6ae0de7baae41756045ffa04c15" kindref="member">ValNode::card_conflict</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c)<sp/>{</highlight></codeline>
<codeline lineno="657"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" kindref="member">noc</ref><sp/>=<sp/>c;</highlight></codeline>
<codeline lineno="658"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="659"><highlight class="normal"></highlight></codeline>
<codeline lineno="660"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="661" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae3a227a5ee9b6c5cf0dc7345345fb7a9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae3a227a5ee9b6c5cf0dc7345345fb7a9" kindref="member">ValNode::red_conflict</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="662"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" kindref="member">noc</ref>--;</highlight></codeline>
<codeline lineno="663"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" kindref="member">noc</ref><sp/>&gt;=<sp/>0);</highlight></codeline>
<codeline lineno="664"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="665"><highlight class="normal"></highlight></codeline>
<codeline lineno="666"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="667" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4c09b6ae0de7baae41756045ffa04c15" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4c09b6ae0de7baae41756045ffa04c15" kindref="member">ValNode::card_conflict</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="668"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a9e3e8c44ff7520417d19d917740261c0" kindref="member">noc</ref>;</highlight></codeline>
<codeline lineno="669"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="670"><highlight class="normal"></highlight></codeline>
<codeline lineno="671"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="672" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">ValNode::cap</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="673"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref>;</highlight></codeline>
<codeline lineno="675"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="676"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>;</highlight></codeline>
<codeline lineno="677"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="678"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="679" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8eea126662b0add9ec0019f965a9bf73" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8eea126662b0add9ec0019f965a9bf73" kindref="member">ValNode::matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="680"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(bc)<sp/>==<sp/>0;</highlight></codeline>
<codeline lineno="681"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="682"><highlight class="normal"></highlight></codeline>
<codeline lineno="683"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="684" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a573bd0ca16e27c455ce55ec25914c5e9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a573bd0ca16e27c455ce55ec25914c5e9" kindref="member">ValNode::reset</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="685"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref><sp/>=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref>;</highlight></codeline>
<codeline lineno="686"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref><sp/>=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>;</highlight></codeline>
<codeline lineno="687"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref><sp/>=<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>;</highlight></codeline>
<codeline lineno="688"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="689"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="690"><highlight class="normal"></highlight></codeline>
<codeline lineno="691"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="692" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd3f9b51dfa97fedb2a13d1730fb3989" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd3f9b51dfa97fedb2a13d1730fb3989" kindref="member">ValNode::kbound</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="693"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)<sp/>{</highlight></codeline>
<codeline lineno="694"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>;</highlight></codeline>
<codeline lineno="695"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="696"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref>;</highlight></codeline>
<codeline lineno="697"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="698"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="699"><highlight class="normal"></highlight></codeline>
<codeline lineno="700"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="701" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">ValNode::kmax</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="702"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref>;</highlight></codeline>
<codeline lineno="703"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="704"><highlight class="normal"></highlight></codeline>
<codeline lineno="705"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="706" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">ValNode::kmin</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="707"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref>;</highlight></codeline>
<codeline lineno="708"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="709"><highlight class="normal"></highlight></codeline>
<codeline lineno="710"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="711" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a874d693a43b8a424c1aaf29b72095432" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">ValNode::kmin</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>klb)<sp/>{</highlight></codeline>
<codeline lineno="712"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref><sp/>=<sp/>klb;</highlight></codeline>
<codeline lineno="713"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="714"><highlight class="normal"></highlight></codeline>
<codeline lineno="715"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="716" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a62a7798cb991bd8643096541f0bb9fe7" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">ValNode::kmax</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kub)<sp/>{</highlight></codeline>
<codeline lineno="717"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref><sp/>=<sp/>kub;</highlight></codeline>
<codeline lineno="718"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="719"><highlight class="normal"></highlight></codeline>
<codeline lineno="720"><highlight class="normal"></highlight></codeline>
<codeline lineno="721"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="722" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ac6503d26855268e1b0b804a9482a28e3" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ac6503d26855268e1b0b804a9482a28e3" kindref="member">ValNode::dec</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="723"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)<sp/>{</highlight></codeline>
<codeline lineno="724"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref>--;</highlight></codeline>
<codeline lineno="725"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="726"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>--;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref>--;</highlight></codeline>
<codeline lineno="727"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="728"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="729"><highlight class="normal"></highlight></codeline>
<codeline lineno="730"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="731" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1af866c5fc0f3d22722521eea3a3de19eb" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">ValNode::inc</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="732"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)<sp/>{</highlight></codeline>
<codeline lineno="733"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref>++;</highlight></codeline>
<codeline lineno="734"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="735"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref>++;<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref>++;</highlight></codeline>
<codeline lineno="736"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="737"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="738"><highlight class="normal"></highlight></codeline>
<codeline lineno="739"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="740" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1aa41f4ac45743954c5739638c28a2afea" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1aa41f4ac45743954c5739638c28a2afea" kindref="member">ValNode::match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="741"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ac6503d26855268e1b0b804a9482a28e3" kindref="member">dec</ref>(bc);</highlight></codeline>
<codeline lineno="742"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="743"><highlight class="normal"></highlight></codeline>
<codeline lineno="744"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="745" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a452e3af51c84bfb94122b414f7754caf" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a452e3af51c84bfb94122b414f7754caf" kindref="member">ValNode::unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="746"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">inc</ref>(bc);</highlight></codeline>
<codeline lineno="747"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="748"><highlight class="normal"></highlight></codeline>
<codeline lineno="749"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="750" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8bf7a4774daaf881323549e75e5e0902" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">ValNode::cap</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c)<sp/>{</highlight></codeline>
<codeline lineno="751"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="752"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref><sp/>=<sp/>c;</highlight></codeline>
<codeline lineno="753"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="754"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref><sp/>=<sp/>c;</highlight></codeline>
<codeline lineno="755"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="756"><highlight class="normal"></highlight></codeline>
<codeline lineno="757"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="758" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">ValNode::inc</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="759"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref>++;</highlight></codeline>
<codeline lineno="760"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="761"><highlight class="normal"></highlight></codeline>
<codeline lineno="762"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="763" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">ValNode::kcount</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="764"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref>;</highlight></codeline>
<codeline lineno="765"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="766"><highlight class="normal"></highlight></codeline>
<codeline lineno="767"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="768" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8c8bb2237adaadb7f1ce2e664f192b71" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">ValNode::kcount</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c)<sp/>{</highlight></codeline>
<codeline lineno="769"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref><sp/>=<sp/>c;</highlight></codeline>
<codeline lineno="770"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="771"><highlight class="normal"></highlight></codeline>
<codeline lineno="772"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="773" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1aca153420874ad2f076874feee341e6d1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">ValNode::kindex</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="774"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a097ba5a3c22b5e46eb422566b75bb1a9" kindref="member">_kidx</ref><sp/>=<sp/>i;</highlight></codeline>
<codeline lineno="775"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="776"><highlight class="normal"></highlight></codeline>
<codeline lineno="777"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="778" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">ValNode::kindex</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="779"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a097ba5a3c22b5e46eb422566b75bb1a9" kindref="member">_kidx</ref>;</highlight></codeline>
<codeline lineno="780"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="781"><highlight class="normal"></highlight></codeline>
<codeline lineno="783"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="784" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">ValNode::incid_match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="785"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>LBC)</highlight></codeline>
<codeline lineno="786"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref><sp/>-<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a52d8a53d93cbfb74bade687583f4d4c8" kindref="member">ublow</ref><sp/>+<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref>;</highlight></codeline>
<codeline lineno="787"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="788"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref><sp/>-<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref><sp/>+<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a500829180a39ef95850587b2e4ac29a3" kindref="member">_kcount</ref>;</highlight></codeline>
<codeline lineno="789"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="790"><highlight class="normal"></highlight></codeline>
<codeline lineno="791"><highlight class="normal"></highlight></codeline>
<codeline lineno="792"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="793" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6d73262ba34b5fa22dfb0d8a3b9afc5c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6d73262ba34b5fa22dfb0d8a3b9afc5c" kindref="member">ValNode::sink</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="794"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>there<sp/>are<sp/>only<sp/>incoming<sp/>edges</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="795"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>in<sp/>case<sp/>of<sp/>the<sp/>UBC-matching</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="796"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad74efc9d9a1c18aeb067f5e6eaff43fb" kindref="member">_kub</ref><sp/>-<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ad953a8bd24748118ff4026307a93b2b8" kindref="member">ub</ref><sp/>==<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>;</highlight></codeline>
<codeline lineno="797"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="798"><highlight class="normal"></highlight></codeline>
<codeline lineno="799"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="800" refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a08f121c4c521014a29bd0fea16132a38" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a08f121c4c521014a29bd0fea16132a38" kindref="member">ValNode::source</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="801"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>there<sp/>are<sp/>only<sp/>incoming<sp/>edges</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="802"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>in<sp/>case<sp/>of<sp/>the<sp/>UBC-matching</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="803"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a2ec729892695767d559bca000ab91f98" kindref="member">_klb</ref><sp/>-<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a03f753d8ff7786f7c07c7e5579226331" kindref="member">lb</ref><sp/>==<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>;</highlight></codeline>
<codeline lineno="804"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="805"><highlight class="normal"></highlight></codeline>
<codeline lineno="806"><highlight class="normal"></highlight></codeline>
<codeline lineno="807"><highlight class="normal"></highlight></codeline>
<codeline lineno="808"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="809"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Edges</highlight></codeline>
<codeline lineno="810"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="811"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="812"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="813" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9582e1be76e202cf981a501669f9c016" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9582e1be76e202cf981a501669f9c016" kindref="member">Edge::unlink</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="814"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>unlink<sp/>from<sp/>variable<sp/>side</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="815"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>p<sp/>=<sp/>prev_edge;</highlight></codeline>
<codeline lineno="816"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>n<sp/>=<sp/>next_edge;</highlight></codeline>
<codeline lineno="817"><highlight class="normal"></highlight></codeline>
<codeline lineno="818"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(p<sp/>!=<sp/>NULL)</highlight></codeline>
<codeline lineno="819"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*p-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" kindref="member">next_ref</ref>()<sp/>=<sp/>n;</highlight></codeline>
<codeline lineno="820"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(n<sp/>!=<sp/>NULL)</highlight></codeline>
<codeline lineno="821"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*n-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a35eaa53dfcc5d831534abd2cfc52d49c" kindref="member">prev_ref</ref>()<sp/>=<sp/>p;</highlight></codeline>
<codeline lineno="822"><highlight class="normal"></highlight></codeline>
<codeline lineno="823"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">this</highlight><highlight class="normal"><sp/>==<sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>())<sp/>{</highlight></codeline>
<codeline lineno="824"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/>ref<sp/>=<sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">adj</ref>();</highlight></codeline>
<codeline lineno="825"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*ref<sp/>=<sp/>n;</highlight></codeline>
<codeline lineno="826"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(n);</highlight></codeline>
<codeline lineno="827"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="828"><highlight class="normal"></highlight></codeline>
<codeline lineno="829"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">this</highlight><highlight class="normal"><sp/>==<sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>())</highlight></codeline>
<codeline lineno="830"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(p);</highlight></codeline>
<codeline lineno="831"><highlight class="normal"></highlight></codeline>
<codeline lineno="832"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>unlink<sp/>from<sp/>value<sp/>side</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="833"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>pv<sp/>=<sp/>prev_vedge;</highlight></codeline>
<codeline lineno="834"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>nv<sp/>=<sp/>next_vedge;</highlight></codeline>
<codeline lineno="835"><highlight class="normal"></highlight></codeline>
<codeline lineno="836"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(pv<sp/>!=<sp/>NULL)</highlight></codeline>
<codeline lineno="837"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*pv-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a38733929ac1beabc558fa58b7e9c1be2" kindref="member">vnext_ref</ref>()<sp/>=<sp/>nv;</highlight></codeline>
<codeline lineno="838"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(nv<sp/>!=<sp/>NULL)</highlight></codeline>
<codeline lineno="839"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*nv-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a10a946037094032d1c6dcd6fb89748fb" kindref="member">vprev_ref</ref>()<sp/>=<sp/>pv;</highlight></codeline>
<codeline lineno="840"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">this</highlight><highlight class="normal"><sp/>==<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>())<sp/>{</highlight></codeline>
<codeline lineno="841"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/>ref<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">adj</ref>();</highlight></codeline>
<codeline lineno="842"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*ref<sp/>=<sp/>nv;</highlight></codeline>
<codeline lineno="843"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(nv);</highlight></codeline>
<codeline lineno="844"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="845"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keyword">this</highlight><highlight class="normal"><sp/>==<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>())</highlight></codeline>
<codeline lineno="846"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(pv);</highlight></codeline>
<codeline lineno="847"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="848"><highlight class="normal"></highlight></codeline>
<codeline lineno="849"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="850" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a74596d00164b143a356875f565ed688f" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ab28e5b8fc46255000803553efec07595" kindref="member">Edge::Edge</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>var,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>val)<sp/>:</highlight></codeline>
<codeline lineno="851"><highlight class="normal"><sp/><sp/><sp/><sp/>x(var),<sp/>v(val),</highlight></codeline>
<codeline lineno="852"><highlight class="normal"><sp/><sp/><sp/><sp/>next_edge(NULL),<sp/>prev_edge(NULL),</highlight></codeline>
<codeline lineno="853"><highlight class="normal"><sp/><sp/><sp/><sp/>next_vedge(NULL),<sp/>prev_vedge(NULL),<sp/>ef(EF_NONE)<sp/>{}</highlight></codeline>
<codeline lineno="854"><highlight class="normal"></highlight></codeline>
<codeline lineno="855"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="856" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aaf7f4665485a2433ba772a94368af570" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aaf7f4665485a2433ba772a94368af570" kindref="member">Edge::use</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="857"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="858"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>|=<sp/>EF_MRKUB;</highlight></codeline>
<codeline lineno="859"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="860"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>|=<sp/>EF_MRKLB;</highlight></codeline>
<codeline lineno="861"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="862"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="863" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">Edge::free</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="864"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="865"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_MRKUB;</highlight></codeline>
<codeline lineno="866"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="867"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_MRKLB;</highlight></codeline>
<codeline lineno="868"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="869"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="870" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a5a9d7039c58acc207853767b7deecbe8" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a5a9d7039c58acc207853767b7deecbe8" kindref="member">Edge::used</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="871"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="872"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(ef<sp/>&amp;<sp/>EF_MRKUB)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="873"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="874"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(ef<sp/>&amp;<sp/>EF_MRKLB)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="875"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="876"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="877" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aa1e3552cec33d11d2f43661f221fd147" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aa1e3552cec33d11d2f43661f221fd147" kindref="member">Edge::next</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="878"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>next_edge;</highlight></codeline>
<codeline lineno="879"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="880"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="881" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aa1e3552cec33d11d2f43661f221fd147" kindref="member">Edge::next</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>t)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="882"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(t)<sp/>{</highlight></codeline>
<codeline lineno="883"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>next_vedge;</highlight></codeline>
<codeline lineno="884"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="885"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>next_edge;</highlight></codeline>
<codeline lineno="886"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="887"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="888"><highlight class="normal"></highlight></codeline>
<codeline lineno="889"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="890" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a56e0daf21e53815611149c113ac91f41" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a56e0daf21e53815611149c113ac91f41" kindref="member">Edge::vnext</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="891"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>next_vedge;</highlight></codeline>
<codeline lineno="892"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="893"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**</highlight></codeline>
<codeline lineno="894" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a38733929ac1beabc558fa58b7e9c1be2" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a38733929ac1beabc558fa58b7e9c1be2" kindref="member">Edge::vnext_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="895"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;next_vedge;</highlight></codeline>
<codeline lineno="896"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="897"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="898" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a4ed655c9a7dff30839cb5547eb862e37" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a4ed655c9a7dff30839cb5547eb862e37" kindref="member">Edge::prev</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="899"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>prev_edge;</highlight></codeline>
<codeline lineno="900"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="901"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**</highlight></codeline>
<codeline lineno="902" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a35eaa53dfcc5d831534abd2cfc52d49c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a35eaa53dfcc5d831534abd2cfc52d49c" kindref="member">Edge::prev_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="903"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;prev_edge;</highlight></codeline>
<codeline lineno="904"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="905"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*</highlight></codeline>
<codeline lineno="906" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a092267ea4cac522ed59987ef29e2e5c1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a092267ea4cac522ed59987ef29e2e5c1" kindref="member">Edge::vprev</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="907"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>prev_vedge;</highlight></codeline>
<codeline lineno="908"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="909"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**</highlight></codeline>
<codeline lineno="910" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a10a946037094032d1c6dcd6fb89748fb" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a10a946037094032d1c6dcd6fb89748fb" kindref="member">Edge::vprev_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="911"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;prev_vedge;</highlight></codeline>
<codeline lineno="912"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="913"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**</highlight></codeline>
<codeline lineno="914" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" kindref="member">Edge::next_ref</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="915"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>&amp;next_edge;</highlight></codeline>
<codeline lineno="916"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="917"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*</highlight></codeline>
<codeline lineno="918" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae0e534f9a6ae056cdb985c4a0e5cddb0" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae0e534f9a6ae056cdb985c4a0e5cddb0" kindref="member">Edge::getVar</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="919"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(x<sp/>!=<sp/>NULL);</highlight></codeline>
<codeline lineno="920"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>x;</highlight></codeline>
<codeline lineno="921"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="922"><highlight class="normal"></highlight></codeline>
<codeline lineno="923"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*</highlight></codeline>
<codeline lineno="924" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">Edge::getVal</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="925"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(v<sp/>!=<sp/>NULL);</highlight></codeline>
<codeline lineno="926"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>v;</highlight></codeline>
<codeline lineno="927"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="928"><highlight class="normal"></highlight></codeline>
<codeline lineno="929"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*</highlight></codeline>
<codeline lineno="930" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9f98312738c4c2289fab8e0ac1326e69" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9f98312738c4c2289fab8e0ac1326e69" kindref="member">Edge::getMate</ref>(</highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>type)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="931"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(type)</highlight></codeline>
<codeline lineno="932"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>x;</highlight></codeline>
<codeline lineno="933"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="934"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>v;</highlight></codeline>
<codeline lineno="935"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="936"><highlight class="normal"></highlight></codeline>
<codeline lineno="937"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="938" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">Edge::unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="939"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="940"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_UM;</highlight></codeline>
<codeline lineno="941"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="942"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_LM;</highlight></codeline>
<codeline lineno="943"><highlight class="normal"><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1af69881d9b05fd4e5cce007d7cacda2b0" kindref="member">unmatch</ref>(bc);<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a452e3af51c84bfb94122b414f7754caf" kindref="member">unmatch</ref>(bc);</highlight></codeline>
<codeline lineno="944"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="945"><highlight class="normal"></highlight></codeline>
<codeline lineno="946"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="947" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a52f3ad02ed6e8f0af2c43f0558958531" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">Edge::unmatch</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>node)<sp/>{</highlight></codeline>
<codeline lineno="948"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="949"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_UM;</highlight></codeline>
<codeline lineno="950"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="951"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_LM;</highlight></codeline>
<codeline lineno="952"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(node)</highlight></codeline>
<codeline lineno="953"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a452e3af51c84bfb94122b414f7754caf" kindref="member">unmatch</ref>(bc);</highlight></codeline>
<codeline lineno="954"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="955"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1af69881d9b05fd4e5cce007d7cacda2b0" kindref="member">unmatch</ref>(bc);</highlight></codeline>
<codeline lineno="956"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="957"><highlight class="normal"></highlight></codeline>
<codeline lineno="958"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="959" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae3616075331e1508df54e11c018fe093" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae3616075331e1508df54e11c018fe093" kindref="member">Edge::reset</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="960"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">free</ref>(bc);<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(bc);</highlight></codeline>
<codeline lineno="961"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="962"><highlight class="normal"></highlight></codeline>
<codeline lineno="963"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="964" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a3ac36974b198d4821487f8ee38a8765a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a3ac36974b198d4821487f8ee38a8765a" kindref="member">Edge::match</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)<sp/>{</highlight></codeline>
<codeline lineno="965"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="966"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>|=<sp/>EF_UM;</highlight></codeline>
<codeline lineno="967"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="968"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>ef<sp/>|=<sp/>EF_LM;</highlight></codeline>
<codeline lineno="969"><highlight class="normal"><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a7a9f94fd004d2b003d81cf8b0333b496" kindref="member">match</ref>(bc);</highlight></codeline>
<codeline lineno="970"><highlight class="normal"><sp/><sp/><sp/><sp/>x-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1ad14164bad6e2f1c543cf318f46c99bfc" kindref="member">set_match</ref>(bc,</highlight><highlight class="keyword">this</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="971"><highlight class="normal"><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1aa41f4ac45743954c5739638c28a2afea" kindref="member">match</ref>(bc);</highlight></codeline>
<codeline lineno="972"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="973"><highlight class="normal"></highlight></codeline>
<codeline lineno="974"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="975" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aee5024f5c7233a4155126cc9640570f2" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aee5024f5c7233a4155126cc9640570f2" kindref="member">Edge::matched</ref>(<ref refid="namespaceGecode_1_1Int_1_1GCC_1a4e75bf3ac1c08f27964f54f5361f4cab" kindref="member">BC</ref><sp/>bc)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="976"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(bc<sp/>==<sp/>UBC)</highlight></codeline>
<codeline lineno="977"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(ef<sp/>&amp;<sp/>EF_UM)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="978"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="979"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(ef<sp/>&amp;<sp/>EF_LM)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="980"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="981"><highlight class="normal"></highlight></codeline>
<codeline lineno="982"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="983" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aca061a02c63509d51cf0003e9c5cfa31" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aca061a02c63509d51cf0003e9c5cfa31" kindref="member">Edge::del_edge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="984"><highlight class="normal"><sp/><sp/><sp/><sp/>ef<sp/>|=<sp/>EF_DEL;</highlight></codeline>
<codeline lineno="985"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="986"><highlight class="normal"></highlight></codeline>
<codeline lineno="987"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="988" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a12514a4bae40e9f5991216cc180020b0" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a12514a4bae40e9f5991216cc180020b0" kindref="member">Edge::insert_edge</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="989"><highlight class="normal"><sp/><sp/><sp/><sp/>ef<sp/>&amp;=<sp/>~EF_DEL;</highlight></codeline>
<codeline lineno="990"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="991"><highlight class="normal"></highlight></codeline>
<codeline lineno="992"><highlight class="normal"></highlight></codeline>
<codeline lineno="993"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="994" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a2f5aecd7e0102c45ef3661cdd19aeb87" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a2f5aecd7e0102c45ef3661cdd19aeb87" kindref="member">Edge::deleted</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="995"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(ef<sp/>&amp;<sp/>EF_DEL)<sp/>!=<sp/>0;</highlight></codeline>
<codeline lineno="996"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="997"><highlight class="normal"></highlight></codeline>
<codeline lineno="998"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*</highlight></codeline>
<codeline lineno="999" refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a8d53100b9edf92b3c9dbf7bbab443389" refkind="member"><highlight class="normal"><sp/><sp/>Edge::operator<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>s,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="1000"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>home.ralloc(s);</highlight></codeline>
<codeline lineno="1001"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1002"><highlight class="normal"></highlight></codeline>
<codeline lineno="1003"><highlight class="normal"></highlight></codeline>
<codeline lineno="1004"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="1005"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Variable<sp/>value<sp/>graph</highlight></codeline>
<codeline lineno="1006"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="1007"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1008"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;</highlight></codeline>
<codeline lineno="1009" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ae6499fa8443049edc57141b7bb7c06b0" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ae6499fa8443049edc57141b7bb7c06b0" kindref="member">VarValGraph&lt;Card&gt;::VarValGraph</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,</highlight></codeline>
<codeline lineno="1010"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k,</highlight></codeline>
<codeline lineno="1011"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>smin,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>smax)</highlight></codeline>
<codeline lineno="1012"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/>n_var(x.<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>()),</highlight></codeline>
<codeline lineno="1013"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n_val(k.<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>()),</highlight></codeline>
<codeline lineno="1014"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n_node(n_var<sp/>+<sp/>n_val),</highlight></codeline>
<codeline lineno="1015"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>sum_min(smin),</highlight></codeline>
<codeline lineno="1016"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>sum_max(smax)<sp/>{</highlight></codeline>
<codeline lineno="1017"><highlight class="normal"></highlight></codeline>
<codeline lineno="1018"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>noe<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1019"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=x.<ref refid="classGecode_1_1ViewArray_1a65940b23e2457e97607475f8bd8f4ac6" kindref="member">size</ref>();<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1020"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>noe<sp/>+=<sp/>x[i].<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>();</highlight></codeline>
<codeline lineno="1021"><highlight class="normal"></highlight></codeline>
<codeline lineno="1022"><highlight class="normal"><sp/><sp/><sp/><sp/>vars<sp/>=<sp/>home.<ref refid="group__FuncMemSpace_1gacf6b71739fd13f46d8d27052d714265e" kindref="member">alloc</ref>&lt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*&gt;(n_var);</highlight></codeline>
<codeline lineno="1023"><highlight class="normal"><sp/><sp/><sp/><sp/>vals<sp/>=<sp/>home.<ref refid="group__FuncMemSpace_1gacf6b71739fd13f46d8d27052d714265e" kindref="member">alloc</ref>&lt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*&gt;(n_val);</highlight></codeline>
<codeline lineno="1024"><highlight class="normal"></highlight></codeline>
<codeline lineno="1025"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1026"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kmi<sp/>=<sp/>k[i].min();</highlight></codeline>
<codeline lineno="1027"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kma<sp/>=<sp/>k[i].max();</highlight></codeline>
<codeline lineno="1028"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>kc<sp/><sp/>=<sp/>k[i].counter();</highlight></codeline>
<codeline lineno="1029"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(kc<sp/>!=<sp/>kma)<sp/>{</highlight></codeline>
<codeline lineno="1030"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(kmi<sp/>&gt;=<sp/>kc)<sp/>{</highlight></codeline>
<codeline lineno="1031"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>kmi<sp/>-=kc;</highlight></codeline>
<codeline lineno="1032"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(kmi<sp/>&gt;=0);</highlight></codeline>
<codeline lineno="1033"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1034"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>kmi<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1035"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1036"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>kma<sp/>-=<sp/>kc;</highlight></codeline>
<codeline lineno="1037"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert<sp/>(kma<sp/>&gt;<sp/>0);</highlight></codeline>
<codeline lineno="1038"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]<sp/>=<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)</highlight></codeline>
<codeline lineno="1039"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>(kmi,<sp/>kma,<sp/>k[i].card(),<sp/>i,<sp/>i<sp/>+<sp/>n_var,<sp/>kc);</highlight></codeline>
<codeline lineno="1040"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1041"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]<sp/>=<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)</highlight></codeline>
<codeline lineno="1042"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>(0,<sp/>0,<sp/>k[i].card(),<sp/>i,<sp/>i<sp/>+<sp/>n_var,<sp/>kc);</highlight></codeline>
<codeline lineno="1043"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1044"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1045"><highlight class="normal"></highlight></codeline>
<codeline lineno="1046"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1047"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]<sp/>=<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>(i);</highlight></codeline>
<codeline lineno="1048"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>get<sp/>the<sp/>space<sp/>for<sp/>the<sp/>edges<sp/>of<sp/>the<sp/>varnode</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1049"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/>xadjacent<sp/>=<sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">adj</ref>();</highlight></codeline>
<codeline lineno="1050"><highlight class="normal"></highlight></codeline>
<codeline lineno="1051"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>j<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1052"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1ViewValues" kindref="compound">ViewValues&lt;IntView&gt;</ref><sp/>xi(x[i]);<sp/>xi();<sp/>++xi)<sp/>{</highlight></codeline>
<codeline lineno="1053"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>get<sp/>the<sp/>correct<sp/>index<sp/>for<sp/>the<sp/>value</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1054"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal">(vals[j]-&gt;val<sp/>&lt;<sp/>xi.val())</highlight></codeline>
<codeline lineno="1055"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>j++;</highlight></codeline>
<codeline lineno="1056"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*xadjacent<sp/>=<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>(vars[i],vals[j]);</highlight></codeline>
<codeline lineno="1057"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>++;</highlight></codeline>
<codeline lineno="1058"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vars[i]-&gt;first()<sp/>==<sp/>NULL)</highlight></codeline>
<codeline lineno="1059"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;first(*xadjacent);</highlight></codeline>
<codeline lineno="1060"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>oldprev<sp/><sp/>=<sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>();</highlight></codeline>
<codeline lineno="1061"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(*xadjacent);</highlight></codeline>
<codeline lineno="1062"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a35eaa53dfcc5d831534abd2cfc52d49c" kindref="member">prev_ref</ref>()<sp/>=<sp/>oldprev;</highlight></codeline>
<codeline lineno="1063"><highlight class="normal"></highlight></codeline>
<codeline lineno="1064"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vals[j]-&gt;first()<sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1065"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(*xadjacent);</highlight></codeline>
<codeline lineno="1066"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>(*xadjacent);</highlight></codeline>
<codeline lineno="1067"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1068"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>old<sp/>=<sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();</highlight></codeline>
<codeline lineno="1069"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>(*xadjacent);</highlight></codeline>
<codeline lineno="1070"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a38733929ac1beabc558fa58b7e9c1be2" kindref="member">vnext_ref</ref>()<sp/>=<sp/>old;</highlight></codeline>
<codeline lineno="1071"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*old-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a10a946037094032d1c6dcd6fb89748fb" kindref="member">vprev_ref</ref>()<sp/>=<sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();</highlight></codeline>
<codeline lineno="1072"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1073"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[j]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>++;</highlight></codeline>
<codeline lineno="1074"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>xadjacent<sp/>=<sp/>(*xadjacent)-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" kindref="member">next_ref</ref>();</highlight></codeline>
<codeline lineno="1075"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1076"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*xadjacent<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="1077"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1078"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1079"><highlight class="normal"></highlight></codeline>
<codeline lineno="1080"><highlight class="normal"></highlight></codeline>
<codeline lineno="1081"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;</highlight></codeline>
<codeline lineno="1082"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
<codeline lineno="1083" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a48e205f62c8119b4e584fb7ea126a9d1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a48e205f62c8119b4e584fb7ea126a9d1" kindref="member">VarValGraph&lt;Card&gt;::min_require</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,<sp/></highlight></codeline>
<codeline lineno="1084"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,</highlight></codeline>
<codeline lineno="1085"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k)<sp/>{</highlight></codeline>
<codeline lineno="1086"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1087"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vln<sp/>=<sp/>vals[i];</highlight></codeline>
<codeline lineno="1088"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1089"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(k[i].min()<sp/>==<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>)<sp/>{</highlight></codeline>
<codeline lineno="1090"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>all<sp/>variable<sp/>nodes<sp/>reachable<sp/>from<sp/>vln<sp/>should<sp/>be<sp/>equal<sp/>to<sp/>vln-&gt;val</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1091"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();<sp/>e<sp/>!=<sp/>NULL;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a56e0daf21e53815611149c113ac91f41" kindref="member">vnext</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1092"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>vrn<sp/>=<sp/>e-&gt;getVar();</highlight></codeline>
<codeline lineno="1093"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>f<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();<sp/>f<sp/>!=<sp/>NULL;<sp/>f<sp/>=<sp/>f-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>())</highlight></codeline>
<codeline lineno="1094"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(f<sp/>!=<sp/>e)<sp/>{</highlight></codeline>
<codeline lineno="1095"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>w<sp/>=<sp/>f-&gt;getVal();</highlight></codeline>
<codeline lineno="1096"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1097"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1098"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>f-&gt;del_edge();</highlight></codeline>
<codeline lineno="1099"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>f-&gt;unlink();</highlight></codeline>
<codeline lineno="1100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>==<sp/>1);</highlight></codeline>
<codeline lineno="1102"><highlight class="normal"></highlight></codeline>
<codeline lineno="1103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>vi<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>();</highlight></codeline>
<codeline lineno="1104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(x[vi].eq(home,<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>));</highlight></codeline>
<codeline lineno="1105"><highlight class="normal"></highlight></codeline>
<codeline lineno="1106"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[vi]<sp/>=<sp/>vars[--n_var];</highlight></codeline>
<codeline lineno="1107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[vi]-&gt;index(vi);</highlight></codeline>
<codeline lineno="1108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>x.<ref refid="classGecode_1_1ViewArray_1a9c230669060fb3a42b73915db078f77e" kindref="member">move_lst</ref>(vi);</highlight></codeline>
<codeline lineno="1109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>n_node--;</highlight></codeline>
<codeline lineno="1110"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1112"><highlight class="normal"></highlight></codeline>
<codeline lineno="1113"><highlight class="normal"></highlight></codeline>
<codeline lineno="1114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>vidx<sp/>=<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">kindex</ref>();</highlight></codeline>
<codeline lineno="1115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate)</highlight></codeline>
<codeline lineno="1116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(k[vidx].eq(home,<sp/>k[vidx].min()));</highlight></codeline>
<codeline lineno="1117"><highlight class="normal"></highlight></codeline>
<codeline lineno="1118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>k[vidx].counter(k[vidx].min());</highlight></codeline>
<codeline lineno="1119"><highlight class="normal"></highlight></codeline>
<codeline lineno="1120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(UBC,0);</highlight></codeline>
<codeline lineno="1121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(LBC,0);</highlight></codeline>
<codeline lineno="1122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(0);</highlight></codeline>
<codeline lineno="1123"><highlight class="normal"></highlight></codeline>
<codeline lineno="1124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sum_min<sp/>&gt;=<sp/>k[vidx].min())</highlight></codeline>
<codeline lineno="1125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sum_min<sp/>-=<sp/>k[vidx].min();</highlight></codeline>
<codeline lineno="1126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sum_max<sp/>&gt;=<sp/>k[vidx].max())</highlight></codeline>
<codeline lineno="1127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sum_max<sp/>-=<sp/>k[vidx].max();</highlight></codeline>
<codeline lineno="1128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1130"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;cap(UBC,0);</highlight></codeline>
<codeline lineno="1131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;cap(LBC,0);</highlight></codeline>
<codeline lineno="1132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;maxlow(0);</highlight></codeline>
<codeline lineno="1133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;kmax(0);</highlight></codeline>
<codeline lineno="1134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;kmin(0);</highlight></codeline>
<codeline lineno="1135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1136"><highlight class="normal"></highlight></codeline>
<codeline lineno="1137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate<sp/>&amp;&amp;<sp/>(k[i].counter()<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="1138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(k[i].lq(home,<sp/>vals[i]-&gt;noe));</highlight></codeline>
<codeline lineno="1139"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1140"><highlight class="normal"></highlight></codeline>
<codeline lineno="1141"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;index(n_var<sp/>+<sp/>i);</highlight></codeline>
<codeline lineno="1143"><highlight class="normal"></highlight></codeline>
<codeline lineno="1144"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
<codeline lineno="1145"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1146"><highlight class="normal"></highlight></codeline>
<codeline lineno="1147"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;</highlight></codeline>
<codeline lineno="1148"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
<codeline lineno="1149" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ac7c87ace7b4ed1a45519b67c6516d4f2" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1ac7c87ace7b4ed1a45519b67c6516d4f2" kindref="member">VarValGraph&lt;Card&gt;::sync</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,</highlight></codeline>
<codeline lineno="1150"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k)<sp/>{</highlight></codeline>
<codeline lineno="1151"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
<codeline lineno="1152"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>A<sp/>node<sp/>can<sp/>be<sp/>pushed<sp/>twice<sp/>(once<sp/>when<sp/>checking<sp/>cardinality<sp/>and<sp/>later<sp/>again)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1153"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref><sp/>re(r,2*n_node);</highlight></codeline>
<codeline lineno="1154"><highlight class="normal"></highlight></codeline>
<codeline lineno="1155"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>synchronize<sp/>cardinality<sp/>variables</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1156"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate)<sp/>{</highlight></codeline>
<codeline lineno="1157"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1158"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v<sp/>=<sp/>vals[i];</highlight></codeline>
<codeline lineno="1159"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>inc_ubc<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">incid_match</ref>(UBC);</highlight></codeline>
<codeline lineno="1160"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>inc_lbc<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">incid_match</ref>(LBC);</highlight></codeline>
<codeline lineno="1161"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>==<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>inc_ubc<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1163"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>inc_lbc<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1164"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1165"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>rm<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>()<sp/>-<sp/>k[i].max();</highlight></codeline>
<codeline lineno="1166"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>the<sp/>cardinality<sp/>bounds<sp/>have<sp/>been<sp/>modified</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1167"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((k[i].max()<sp/>&lt;<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>())<sp/>||<sp/>(k[i].min()<sp/>&gt;<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>()))<sp/>{</highlight></codeline>
<codeline lineno="1168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((k[i].max()<sp/>!=<sp/>k[i].counter())<sp/>||<sp/>(k[i].max()<sp/>==<sp/>0))<sp/>{</highlight></codeline>
<codeline lineno="1169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>update<sp/>the<sp/>bounds</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1170"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>(k[i].max());</highlight></codeline>
<codeline lineno="1171"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>(k[i].min());</highlight></codeline>
<codeline lineno="1172"><highlight class="normal"></highlight></codeline>
<codeline lineno="1173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//everything<sp/>is<sp/>fine</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(inc_ubc<sp/>&lt;=<sp/>k[i].max())<sp/>{</highlight></codeline>
<codeline lineno="1175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>adjust<sp/>capacities</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1176"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(UBC,<sp/>k[i].max()<sp/>-<sp/>inc_ubc);</highlight></codeline>
<codeline lineno="1177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(k[i].max()<sp/>-<sp/>inc_lbc);</highlight></codeline>
<codeline lineno="1178"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>()<sp/>==<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>())</highlight></codeline>
<codeline lineno="1179"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(LBC,<sp/>k[i].max()<sp/>-<sp/>inc_lbc);</highlight></codeline>
<codeline lineno="1180"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>set<sp/>cap<sp/>to<sp/>max<sp/>and<sp/>resolve<sp/>conflicts<sp/>on<sp/>view<sp/>side</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>set<sp/>to<sp/>full<sp/>capacity<sp/>for<sp/>later<sp/>rescheduling</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(UBC))</highlight></codeline>
<codeline lineno="1184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(UBC,k[i].max());</highlight></codeline>
<codeline lineno="1185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(k[i].max()<sp/>-<sp/>(inc_lbc));</highlight></codeline>
<codeline lineno="1186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>()<sp/>==<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>())</highlight></codeline>
<codeline lineno="1187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(LBC,k[i].max()<sp/>-<sp/>(inc_lbc));</highlight></codeline>
<codeline lineno="1188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5849f34d85484db97c42e3395024a9c8" kindref="member">card_conflict</ref>(rm);</highlight></codeline>
<codeline lineno="1189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(inc_lbc<sp/>&lt;<sp/>k[i].min()<sp/>&amp;&amp;<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1193"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(LBC,<sp/>k[i].min()<sp/>-<sp/>inc_lbc);</highlight></codeline>
<codeline lineno="1194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(v);</highlight></codeline>
<codeline lineno="1195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1196"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1197"><highlight class="normal"></highlight></codeline>
<codeline lineno="1198"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>mub<sp/>=<sp/>vars[i]-&gt;get_match(UBC);</highlight></codeline>
<codeline lineno="1200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mub<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vu<sp/>=<sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>();</highlight></codeline>
<codeline lineno="1202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((vars[i]-&gt;noe<sp/>!=<sp/>1)<sp/>&amp;&amp;<sp/>vu-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5849f34d85484db97c42e3395024a9c8" kindref="member">card_conflict</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vu-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae3a227a5ee9b6c5cf0dc7345345fb7a9" kindref="member">red_conflict</ref>();</highlight></codeline>
<codeline lineno="1204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(UBC,vars[i]-&gt;type());</highlight></codeline>
<codeline lineno="1205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vars[i]);</highlight></codeline>
<codeline lineno="1206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1208"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1209"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1210"><highlight class="normal"></highlight></codeline>
<codeline lineno="1211"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>go<sp/>on<sp/>with<sp/>synchronization</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1212"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(x.<ref refid="classGecode_1_1ViewArray_1a65940b23e2457e97607475f8bd8f4ac6" kindref="member">size</ref>()<sp/>==<sp/>n_var);</highlight></codeline>
<codeline lineno="1213"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1214"><highlight class="normal"></highlight></codeline>
<codeline lineno="1215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>vrn<sp/>=<sp/>vars[i];</highlight></codeline>
<codeline lineno="1216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(static_cast&lt;int&gt;(x[i].<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>())<sp/>!=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>)<sp/>{</highlight></codeline>
<codeline lineno="1217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>if<sp/>the<sp/>variable<sp/>is<sp/>already<sp/>assigned</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(x[i].assigned())<sp/>{</highlight></codeline>
<codeline lineno="1219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/>v<sp/>=<sp/>x[i].val();</highlight></codeline>
<codeline lineno="1220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>mub<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">get_match</ref>(UBC);</highlight></codeline>
<codeline lineno="1221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((mub<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(v<sp/>!=<sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>))<sp/>{</highlight></codeline>
<codeline lineno="1222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(UBC);</highlight></codeline>
<codeline lineno="1223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vars[i]);</highlight></codeline>
<codeline lineno="1224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1225"><highlight class="normal"></highlight></codeline>
<codeline lineno="1226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>mlb<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">get_match</ref>(LBC);</highlight></codeline>
<codeline lineno="1227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(mlb<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vln<sp/>=<sp/>mlb-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>();</highlight></codeline>
<codeline lineno="1229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v<sp/>!=<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>)<sp/>{</highlight></codeline>
<codeline lineno="1230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mlb-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(LBC);</highlight></codeline>
<codeline lineno="1231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">incid_match</ref>(LBC)<sp/>&lt;<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>())</highlight></codeline>
<codeline lineno="1232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vln);</highlight></codeline>
<codeline lineno="1233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1235"><highlight class="normal"></highlight></codeline>
<codeline lineno="1236"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();<sp/>e<sp/>!=<sp/>NULL;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vln<sp/>=<sp/>e-&gt;getVal();</highlight></codeline>
<codeline lineno="1238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref><sp/>!=<sp/>v)<sp/>{</highlight></codeline>
<codeline lineno="1239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;getVal()-&gt;noe--;</highlight></codeline>
<codeline lineno="1241"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;del_edge();</highlight></codeline>
<codeline lineno="1242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;unlink();</highlight></codeline>
<codeline lineno="1243"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1244"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1245"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1246"><highlight class="normal"></highlight></codeline>
<codeline lineno="1247"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>delete<sp/>the<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1248"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1ViewValues" kindref="compound">ViewValues&lt;IntView&gt;</ref><sp/>xiter(x[i]);</highlight></codeline>
<codeline lineno="1249"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><sp/>mub<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">get_match</ref>(UBC);</highlight></codeline>
<codeline lineno="1250"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><sp/>mlb<sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a84464b71d373c8560de6e2cd7c5e7e62" kindref="member">get_match</ref>(LBC);</highlight></codeline>
<codeline lineno="1251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/>p<sp/><sp/><sp/>=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a268be12be30d0e75ec4042261d415d65" kindref="member">adj</ref>();</highlight></codeline>
<codeline lineno="1252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/><sp/>e<sp/><sp/><sp/>=<sp/>*p;</highlight></codeline>
<codeline lineno="1253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>search<sp/>the<sp/>edge<sp/>that<sp/>has<sp/>to<sp/>be<sp/>deleted</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(e<sp/>!=<sp/>NULL<sp/>&amp;&amp;<sp/>(e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref><sp/>&lt;<sp/>xiter.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>()))<sp/>{</highlight></codeline>
<codeline lineno="1256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Skip<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aca061a02c63509d51cf0003e9c5cfa31" kindref="member">del_edge</ref>();</highlight></codeline>
<codeline lineno="1260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9582e1be76e202cf981a501669f9c016" kindref="member">unlink</ref>();</highlight></codeline>
<codeline lineno="1261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>e<sp/>-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>();</highlight></codeline>
<codeline lineno="1262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*p<sp/>=<sp/>e;</highlight></codeline>
<codeline lineno="1263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1264"><highlight class="normal"></highlight></codeline>
<codeline lineno="1265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(xiter.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>()<sp/>==<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>);</highlight></codeline>
<codeline lineno="1266"><highlight class="normal"></highlight></codeline>
<codeline lineno="1267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>This<sp/>edge<sp/>must<sp/>be<sp/>kept</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">free</ref>(UBC);</highlight></codeline>
<codeline lineno="1269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">free</ref>(LBC);</highlight></codeline>
<codeline lineno="1270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++xiter;</highlight></codeline>
<codeline lineno="1271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>p<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a85777861a4ea442e855a5b7fd1b384c3" kindref="member">next_ref</ref>();</highlight></codeline>
<codeline lineno="1272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>();</highlight></codeline>
<codeline lineno="1273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(xiter());</highlight></codeline>
<codeline lineno="1274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*p<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="1275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(e)<sp/>{</highlight></codeline>
<codeline lineno="1276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1ae0e534f9a6ae056cdb985c4a0e5cddb0" kindref="member">getVar</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aca061a02c63509d51cf0003e9c5cfa31" kindref="member">del_edge</ref>();</highlight></codeline>
<codeline lineno="1279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9582e1be76e202cf981a501669f9c016" kindref="member">unlink</ref>();</highlight></codeline>
<codeline lineno="1280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>();</highlight></codeline>
<codeline lineno="1281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1282"><highlight class="normal"></highlight></codeline>
<codeline lineno="1283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((mub<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a2f5aecd7e0102c45ef3661cdd19aeb87" kindref="member">deleted</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mub-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(UBC);</highlight></codeline>
<codeline lineno="1285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vars[i]);</highlight></codeline>
<codeline lineno="1286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1287"><highlight class="normal"></highlight></codeline>
<codeline lineno="1288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//lower<sp/>bound<sp/>matching<sp/>can<sp/>be<sp/>zero</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((mlb<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>mlb-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a2f5aecd7e0102c45ef3661cdd19aeb87" kindref="member">deleted</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1290"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vln<sp/>=<sp/>mlb-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>();</highlight></codeline>
<codeline lineno="1291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mlb-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a859c23b25e710dca82856b714f5f72d9" kindref="member">unmatch</ref>(LBC);</highlight></codeline>
<codeline lineno="1292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5ab84325dc6dd20db208bcf4d422172c" kindref="member">incid_match</ref>(LBC)<sp/>&lt;<sp/>vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ab358f14783f1a63bab303929d406a6aa" kindref="member">kmin</ref>())</highlight></codeline>
<codeline lineno="1293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vln);</highlight></codeline>
<codeline lineno="1294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1297"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;index(i);</highlight></codeline>
<codeline lineno="1298"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1299"><highlight class="normal"></highlight></codeline>
<codeline lineno="1300"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((k[i].min()<sp/>&gt;<sp/>vals[i]-&gt;noe)<sp/>&amp;&amp;<sp/>(k[i].counter()<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="1302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;index(n_var<sp/>+<sp/>i);</highlight></codeline>
<codeline lineno="1304"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1305"><highlight class="normal"></highlight></codeline>
<codeline lineno="1306"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>start<sp/>repair</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1307"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!re.<ref refid="classGecode_1_1Support_1_1StaticStack_1a02834b1075e03ece518fa4edd35a6543" kindref="member">empty</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>n<sp/>=<sp/>re.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!n-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a50e057086821aaf80544b21f687ba73e" kindref="member">removed</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1310"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!n-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>vrn<sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n);</highlight></codeline>
<codeline lineno="1312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a9454a6ececa6d47a19df2293244d5f4e" kindref="member">matched</ref>(UBC)<sp/>&amp;&amp;<sp/>!augmenting_path&lt;UBC&gt;(home,vrn))</highlight></codeline>
<codeline lineno="1313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>vln<sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n);</highlight></codeline>
<codeline lineno="1316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!vln-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8eea126662b0add9ec0019f965a9bf73" kindref="member">matched</ref>(LBC))</highlight></codeline>
<codeline lineno="1317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!augmenting_path&lt;LBC&gt;(home,vln))</highlight></codeline>
<codeline lineno="1318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1320"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1321"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1322"><highlight class="normal"></highlight></codeline>
<codeline lineno="1323"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
<codeline lineno="1324"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1325"><highlight class="normal"></highlight></codeline>
<codeline lineno="1326"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1327"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
<codeline lineno="1328" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a7f5d82ac5cd5dec53c3fa8fb79d2b2d9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a7f5d82ac5cd5dec53c3fa8fb79d2b2d9" kindref="member">VarValGraph&lt;Card&gt;::narrow</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,<sp/></highlight></codeline>
<codeline lineno="1329"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;IntView&gt;</ref>&amp;<sp/>x,<sp/><ref refid="classGecode_1_1ViewArray" kindref="compound">ViewArray&lt;Card&gt;</ref>&amp;<sp/>k)<sp/>{</highlight></codeline>
<codeline lineno="1330"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vars[i]-&gt;noe<sp/>==<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="1332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v<sp/>=<sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9950d76e9cba67b63f960ff5bd0c4a25" kindref="member">getVal</ref>();</highlight></codeline>
<codeline lineno="1333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a95d18fe96454dca74857b8dd591d16cd" kindref="member">free</ref>(bc);</highlight></codeline>
<codeline lineno="1334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(x[i].eq(home,<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>));</highlight></codeline>
<codeline lineno="1335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a04ed06395be2081d2f354e467b271fb4" kindref="member">inc</ref>();</highlight></codeline>
<codeline lineno="1336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1337"><highlight class="normal"></highlight></codeline>
<codeline lineno="1338"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1339"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v<sp/>=<sp/>vals[i];</highlight></codeline>
<codeline lineno="1340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate<sp/>&amp;&amp;<sp/>(k[i].counter()<sp/>==<sp/>0))</highlight></codeline>
<codeline lineno="1341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(k[i].lq(home,<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>));</highlight></codeline>
<codeline lineno="1342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate)</highlight></codeline>
<codeline lineno="1344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(k[i].lq(home,<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>));</highlight></codeline>
<codeline lineno="1345"><highlight class="normal"></highlight></codeline>
<codeline lineno="1346"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>If<sp/>the<sp/>maximum<sp/>number<sp/>of<sp/>occurences<sp/>of<sp/>a<sp/>value<sp/>is<sp/>reached</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1347"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>it<sp/>cannot<sp/>be<sp/>consumed<sp/>by<sp/>another<sp/>view</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1348"><highlight class="normal"></highlight></codeline>
<codeline lineno="1349"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>()<sp/>==<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1350"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>vidx<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1ae6b0883a9844868d26a2ec8f453b6fb1" kindref="member">kindex</ref>();</highlight></codeline>
<codeline lineno="1351"><highlight class="normal"></highlight></codeline>
<codeline lineno="1352"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>k[i].counter(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>());</highlight></codeline>
<codeline lineno="1353"><highlight class="normal"></highlight></codeline>
<codeline lineno="1354"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(Card::propagate)</highlight></codeline>
<codeline lineno="1355"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(k[i].eq(home,<sp/>k[i].counter()));</highlight></codeline>
<codeline lineno="1356"><highlight class="normal"></highlight></codeline>
<codeline lineno="1357"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>delall<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a5849f34d85484db97c42e3395024a9c8" kindref="member">card_conflict</ref>()<sp/>&amp;&amp;<sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>&gt;<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a4f58bc07c331209cb9a2ac038f353cab" kindref="member">kmax</ref>());</highlight></codeline>
<codeline lineno="1358"><highlight class="normal"></highlight></codeline>
<codeline lineno="1359"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a58e35acf8adca0c29ca96fb3040ad300" kindref="member">last</ref>();<sp/>e<sp/>!=<sp/>NULL;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a092267ea4cac522ed59987ef29e2e5c1" kindref="member">vprev</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1360"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>vrn<sp/>=<sp/>e-&gt;getVar();</highlight></codeline>
<codeline lineno="1361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref><sp/>==<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="1362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>vi=<sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>();</highlight></codeline>
<codeline lineno="1365"><highlight class="normal"></highlight></codeline>
<codeline lineno="1366"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>x.<ref refid="classGecode_1_1ViewArray_1a9c230669060fb3a42b73915db078f77e" kindref="member">move_lst</ref>(vi);</highlight></codeline>
<codeline lineno="1367"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[vi]<sp/>=<sp/>vars[--n_var];</highlight></codeline>
<codeline lineno="1368"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[vi]-&gt;index(vi);</highlight></codeline>
<codeline lineno="1369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>n_node--;</highlight></codeline>
<codeline lineno="1370"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;del_edge();</highlight></codeline>
<codeline lineno="1371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;unlink();</highlight></codeline>
<codeline lineno="1372"><highlight class="normal"></highlight></codeline>
<codeline lineno="1373"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(delall)<sp/>{</highlight></codeline>
<codeline lineno="1374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(x[vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>()].nq(home,<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1abd4efc654f451d8eb79fdf3536120deb" kindref="member">val</ref>));</highlight></codeline>
<codeline lineno="1375"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vrn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1376"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a96e897b003201faab5ecb3bae6c00a42" kindref="member">noe</ref>--;</highlight></codeline>
<codeline lineno="1377"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;del_edge();</highlight></codeline>
<codeline lineno="1378"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;unlink();</highlight></codeline>
<codeline lineno="1379"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1381"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(UBC,0);</highlight></codeline>
<codeline lineno="1382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a76c03716b793a111a0fc5789c2080af6" kindref="member">cap</ref>(LBC,0);</highlight></codeline>
<codeline lineno="1383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a92861c301bbdb65c03f897dbf8c8e105" kindref="member">maxlow</ref>(0);</highlight></codeline>
<codeline lineno="1384"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sum_min<sp/>&gt;=<sp/>k[vidx].min())</highlight></codeline>
<codeline lineno="1385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sum_min<sp/>-=<sp/>k[vidx].min();</highlight></codeline>
<codeline lineno="1386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(sum_max<sp/>&gt;=<sp/>k[vidx].max())</highlight></codeline>
<codeline lineno="1387"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>sum_max<sp/>-=<sp/>k[vidx].max();</highlight></codeline>
<codeline lineno="1388"><highlight class="normal"></highlight></codeline>
<codeline lineno="1389"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>()<sp/>&gt;<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1390"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a6e403f849863116a094b611b71a7317d" kindref="member">kcount</ref>(0);</highlight></codeline>
<codeline lineno="1391"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1392"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1393"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1394"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;index(i);</highlight></codeline>
<codeline lineno="1396"><highlight class="normal"></highlight></codeline>
<codeline lineno="1397"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vals[i]-&gt;noe<sp/>==<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="1399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;cap(UBC,0);</highlight></codeline>
<codeline lineno="1400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;cap(LBC,0);</highlight></codeline>
<codeline lineno="1401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;maxlow(0);</highlight></codeline>
<codeline lineno="1402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>vals[i]-&gt;index(n_var<sp/>+<sp/>i);</highlight></codeline>
<codeline lineno="1404"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1405"><highlight class="normal"></highlight></codeline>
<codeline lineno="1406"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="1407"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(vars[i]-&gt;noe<sp/>&gt;<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="1408"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>vars[i]-&gt;first();<sp/>e<sp/>!=<sp/>NULL;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!e-&gt;matched(bc)<sp/>&amp;&amp;<sp/>!e-&gt;used(bc))<sp/>{</highlight></codeline>
<codeline lineno="1410"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(x[i].nq(home,<sp/>e-&gt;getVal()-&gt;val));</highlight></codeline>
<codeline lineno="1411"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1412"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;free(bc);</highlight></codeline>
<codeline lineno="1413"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1414"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1415"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1416"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1417"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
<codeline lineno="1418"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1419"><highlight class="normal"></highlight></codeline>
<codeline lineno="1420"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1421"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1422"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a867c4015a2adadd9b1566301c99f3563" kindref="member">VarValGraph&lt;Card&gt;::augmenting_path</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home,<sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>v)<sp/>{</highlight></codeline>
<codeline lineno="1423"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
<codeline lineno="1424"><highlight class="normal"><sp/><sp/><sp/><sp/>NodeStack<sp/>ns(r,n_node);</highlight></codeline>
<codeline lineno="1425"><highlight class="normal"><sp/><sp/><sp/><sp/>BitSet<sp/>visited(r,static_cast&lt;unsigned<sp/>int&gt;(n_node));</highlight></codeline>
<codeline lineno="1426"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>**<sp/>start<sp/>=<sp/>r.alloc&lt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*&gt;(n_node);</highlight></codeline>
<codeline lineno="1427"><highlight class="normal"></highlight></codeline>
<codeline lineno="1428"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>keep<sp/>track<sp/>of<sp/>the<sp/>nodes<sp/>that<sp/>have<sp/>already<sp/>been<sp/>visited</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1429"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>sn<sp/>=<sp/>v;</highlight></codeline>
<codeline lineno="1430"><highlight class="normal"></highlight></codeline>
<codeline lineno="1431"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>mark<sp/>the<sp/>start<sp/>partition</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1432"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>sp<sp/>=<sp/>sn-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>();</highlight></codeline>
<codeline lineno="1433"><highlight class="normal"></highlight></codeline>
<codeline lineno="1434"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>nodes<sp/>in<sp/>sp<sp/>only<sp/>follow<sp/>free<sp/>edges</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1435"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>nodes<sp/>in<sp/>V<sp/>-<sp/>sp<sp/>only<sp/>follow<sp/>matched<sp/>edges</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1436"><highlight class="normal"></highlight></codeline>
<codeline lineno="1437"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_node;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1438"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i<sp/>&gt;=<sp/>n_var)<sp/>{</highlight></codeline>
<codeline lineno="1439"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vals[i-n_var]-&gt;inedge(NULL);</highlight></codeline>
<codeline lineno="1440"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>start[i]<sp/>=<sp/>vals[i-n_var]-&gt;first();</highlight></codeline>
<codeline lineno="1441"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1442"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vars[i]-&gt;inedge(NULL);</highlight></codeline>
<codeline lineno="1443"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>start[i]<sp/>=<sp/>vars[i]-&gt;first();</highlight></codeline>
<codeline lineno="1444"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1445"><highlight class="normal"></highlight></codeline>
<codeline lineno="1446"><highlight class="normal"><sp/><sp/><sp/><sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">inedge</ref>(NULL);</highlight></codeline>
<codeline lineno="1447"><highlight class="normal"><sp/><sp/><sp/><sp/>ns.push(v);</highlight></codeline>
<codeline lineno="1448"><highlight class="normal"><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>()));</highlight></codeline>
<codeline lineno="1449"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!ns.empty())<sp/>{</highlight></codeline>
<codeline lineno="1450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Node*<sp/>v<sp/>=<sp/>ns.top();</highlight></codeline>
<codeline lineno="1451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Edge*<sp/>e<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="1452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;type()<sp/>==<sp/>sp)<sp/>{</highlight></codeline>
<codeline lineno="1453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>start[v-&gt;index()];</highlight></codeline>
<codeline lineno="1454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>((e<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>e-&gt;matched(bc))</highlight></codeline>
<codeline lineno="1455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>(v-&gt;type());</highlight></codeline>
<codeline lineno="1456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>start[v-&gt;index()];</highlight></codeline>
<codeline lineno="1458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>((e<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>!e-&gt;matched(bc))</highlight></codeline>
<codeline lineno="1459"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>(v-&gt;type());</highlight></codeline>
<codeline lineno="1460"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>start[v-&gt;index()]<sp/>=<sp/>e;</highlight></codeline>
<codeline lineno="1461"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(e<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1463"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>start[v-&gt;index()]<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>(v-&gt;type());</highlight></codeline>
<codeline lineno="1464"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Node*<sp/>w<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a9f98312738c4c2289fab8e0ac1326e69" kindref="member">getMate</ref>(v-&gt;type());</highlight></codeline>
<codeline lineno="1465"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!visited.get(static_cast&lt;unsigned<sp/>int&gt;(w-&gt;index())))<sp/>{</highlight></codeline>
<codeline lineno="1466"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>unexplored<sp/>path</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1467"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>m<sp/>=<sp/>w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>()<sp/>?<sp/></highlight></codeline>
<codeline lineno="1468"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">ValNode*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(w)-&gt;matched(bc)<sp/>:</highlight></codeline>
<codeline lineno="1469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">VarNode*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(w)-&gt;matched(bc);</highlight></codeline>
<codeline lineno="1470"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!m<sp/>&amp;&amp;<sp/>w-&gt;type()<sp/>!=<sp/>sp)<sp/>{</highlight></codeline>
<codeline lineno="1471"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v-&gt;inedge()<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1472"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>augmenting<sp/>path<sp/>of<sp/>length<sp/>l<sp/>&gt;<sp/>1</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1473"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;match(bc);</highlight></codeline>
<codeline lineno="1474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1475"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1476"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>augmenting<sp/>path<sp/>of<sp/>length<sp/>l<sp/>=<sp/>1</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1477"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;match(bc);</highlight></codeline>
<codeline lineno="1478"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.pop();</highlight></codeline>
<codeline lineno="1479"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1480"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1481"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1482"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>w-&gt;inedge(e);</highlight></codeline>
<codeline lineno="1483"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(w-&gt;index()));</highlight></codeline>
<codeline lineno="1484"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>find<sp/>matching<sp/>edge<sp/>m<sp/>incident<sp/>with<sp/>w</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1485"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(w);</highlight></codeline>
<codeline lineno="1486"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1487"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1488"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1489"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>tried<sp/>all<sp/>outgoing<sp/>edges<sp/>without<sp/>finding<sp/>an<sp/>augmenting<sp/>path</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1490"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.pop();</highlight></codeline>
<codeline lineno="1491"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1492"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1493"><highlight class="normal"></highlight></codeline>
<codeline lineno="1494"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>pathfound<sp/>=<sp/>!ns.empty();</highlight></codeline>
<codeline lineno="1495"><highlight class="normal"></highlight></codeline>
<codeline lineno="1496"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!ns.empty())<sp/>{</highlight></codeline>
<codeline lineno="1497"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Node*<sp/>t<sp/>=<sp/>ns.pop();</highlight></codeline>
<codeline lineno="1498"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(t<sp/>!=<sp/>sn)<sp/>{</highlight></codeline>
<codeline lineno="1499"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Edge*<sp/>in<sp/>=<sp/>t-&gt;inedge();</highlight></codeline>
<codeline lineno="1500"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(t-&gt;type()<sp/>!=<sp/>sp)<sp/>{</highlight></codeline>
<codeline lineno="1501"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>in-&gt;match(bc);</highlight></codeline>
<codeline lineno="1502"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!sp)<sp/>{</highlight></codeline>
<codeline lineno="1503"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>in-&gt;unmatch(bc,!sp);</highlight></codeline>
<codeline lineno="1504"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1505"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>in-&gt;unmatch(bc);</highlight></codeline>
<codeline lineno="1506"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1507"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1508"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1509"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>pathfound;</highlight></codeline>
<codeline lineno="1510"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1511"><highlight class="normal"></highlight></codeline>
<codeline lineno="1512"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1513"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
<codeline lineno="1514" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1aa153a3c4dd30ae1ad4694d9b5fcd2af7" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1aa153a3c4dd30ae1ad4694d9b5fcd2af7" kindref="member">VarValGraph&lt;Card&gt;::maximum_matching</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="1515"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>card_match<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1516"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>find<sp/>an<sp/>intial<sp/>matching<sp/>in<sp/>O(n*d)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1517"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>greedy<sp/>algorithm</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1518"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1519"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>vals[i]-&gt;first();<sp/>e<sp/>!=<sp/>NULL<sp/>;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a56e0daf21e53815611149c113ac91f41" kindref="member">vnext</ref>())</highlight></codeline>
<codeline lineno="1520"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!e-&gt;getVar()-&gt;matched(bc)<sp/>&amp;&amp;<sp/>!vals[i]-&gt;matched(bc))<sp/>{</highlight></codeline>
<codeline lineno="1521"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;match(bc);<sp/>card_match++;</highlight></codeline>
<codeline lineno="1522"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1523"><highlight class="normal"></highlight></codeline>
<codeline lineno="1524"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
<codeline lineno="1525"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(bc)<sp/>{</highlight></codeline>
<codeline lineno="1526"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LBC:<sp/></highlight></codeline>
<codeline lineno="1527"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card_match<sp/>&lt;<sp/>sum_min)<sp/>{</highlight></codeline>
<codeline lineno="1528"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">Support::StaticStack&lt;ValNode*,Region&gt;</ref><sp/>free(r,n_val);</highlight></codeline>
<codeline lineno="1529"><highlight class="normal"></highlight></codeline>
<codeline lineno="1530"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>find<sp/>failed<sp/>nodes</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1531"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1532"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vals[i]-&gt;matched(LBC))</highlight></codeline>
<codeline lineno="1533"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vals[i]);</highlight></codeline>
<codeline lineno="1534"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="1535"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!free.<ref refid="classGecode_1_1Support_1_1StaticStack_1a02834b1075e03ece518fa4edd35a6543" kindref="member">empty</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1536"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode" kindref="compound">ValNode</ref>*<sp/>v<sp/>=<sp/>free.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1537"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1ValNode_1a8eea126662b0add9ec0019f965a9bf73" kindref="member">matched</ref>(LBC))</highlight></codeline>
<codeline lineno="1538"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(augmenting_path&lt;LBC&gt;(home,v))</highlight></codeline>
<codeline lineno="1539"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>card_match++;</highlight></codeline>
<codeline lineno="1540"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1541"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1542"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1543"><highlight class="normal"></highlight></codeline>
<codeline lineno="1544"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(card_match<sp/>&gt;=<sp/>sum_min)<sp/>?<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref><sp/>:<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1545"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1546"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
<codeline lineno="1547"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1548"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1549"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>UBC:</highlight></codeline>
<codeline lineno="1550"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(card_match<sp/>&lt;<sp/>n_var)<sp/>{</highlight></codeline>
<codeline lineno="1551"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">Support::StaticStack&lt;VarNode*,Region&gt;</ref><sp/>free(r,n_var);</highlight></codeline>
<codeline lineno="1552"><highlight class="normal"></highlight></codeline>
<codeline lineno="1553"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>find<sp/>failed<sp/>nodes</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1554"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1555"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vars[i]-&gt;matched(UBC))</highlight></codeline>
<codeline lineno="1556"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(vars[i]);</highlight></codeline>
<codeline lineno="1557"><highlight class="normal"></highlight></codeline>
<codeline lineno="1558"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!free.<ref refid="classGecode_1_1Support_1_1StaticStack_1a02834b1075e03ece518fa4edd35a6543" kindref="member">empty</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1559"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode" kindref="compound">VarNode</ref>*<sp/>v<sp/>=<sp/>free.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1560"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1VarNode_1a9454a6ececa6d47a19df2293244d5f4e" kindref="member">matched</ref>(UBC)<sp/>&amp;&amp;<sp/>augmenting_path&lt;UBC&gt;(home,v))</highlight></codeline>
<codeline lineno="1561"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>card_match++;</highlight></codeline>
<codeline lineno="1562"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1563"><highlight class="normal"></highlight></codeline>
<codeline lineno="1564"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(card_match<sp/>&gt;=<sp/>n_var)<sp/>?<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref><sp/>:<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1565"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1566"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
<codeline lineno="1567"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1568"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1569"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1570"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1571"><highlight class="normal"><sp/><sp/><sp/><sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1572"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a839b40c2e7ccebb2e61e92e274833089" kindref="member">ES_FAILED</ref>;</highlight></codeline>
<codeline lineno="1573"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1574"><highlight class="normal"></highlight></codeline>
<codeline lineno="1575"><highlight class="normal"></highlight></codeline>
<codeline lineno="1576"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1577"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1578"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a15393f37ca1ac03615575b863b09c1f7" kindref="member">VarValGraph&lt;Card&gt;::free_alternating_paths</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="1579"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
<codeline lineno="1580"><highlight class="normal"><sp/><sp/><sp/><sp/>NodeStack<sp/>ns(r,n_node);</highlight></codeline>
<codeline lineno="1581"><highlight class="normal"><sp/><sp/><sp/><sp/>BitSet<sp/>visited(r,static_cast&lt;unsigned<sp/>int&gt;(n_node));</highlight></codeline>
<codeline lineno="1582"><highlight class="normal"></highlight></codeline>
<codeline lineno="1583"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(bc)<sp/>{</highlight></codeline>
<codeline lineno="1584"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LBC:</highlight></codeline>
<codeline lineno="1585"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>after<sp/>a<sp/>maximum<sp/>matching<sp/>on<sp/>the<sp/>value<sp/>nodes<sp/>there<sp/>still<sp/>can<sp/>be</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1586"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>free<sp/>value<sp/>nodes,<sp/>hence<sp/>we<sp/>have<sp/>to<sp/>consider<sp/>ALL<sp/>nodes<sp/>whether</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1587"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>they<sp/>are<sp/>the<sp/>starting<sp/>point<sp/>of<sp/>an<sp/>even<sp/>alternating<sp/>path<sp/>in<sp/>G</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1588"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1589"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vars[i]-&gt;matched(LBC))<sp/>{</highlight></codeline>
<codeline lineno="1590"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(vars[i]);<sp/></highlight></codeline>
<codeline lineno="1591"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(vars[i]-&gt;index()));</highlight></codeline>
<codeline lineno="1592"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1593"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1594"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vals[i]-&gt;matched(LBC))<sp/>{</highlight></codeline>
<codeline lineno="1595"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(vals[i]);<sp/></highlight></codeline>
<codeline lineno="1596"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(vals[i]-&gt;index()));</highlight></codeline>
<codeline lineno="1597"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1598"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1599"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>UBC:</highlight></codeline>
<codeline lineno="1600"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>clearly,<sp/>after<sp/>a<sp/>maximum<sp/>matching<sp/>on<sp/>the<sp/>x<sp/>variables</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1601"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>corresponding<sp/>to<sp/>a<sp/>set<sp/>cover<sp/>on<sp/>x<sp/>there<sp/>are<sp/>NO<sp/>free<sp/>var<sp/>nodes</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1602"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_val;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1603"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!vals[i]-&gt;matched(UBC))<sp/>{</highlight></codeline>
<codeline lineno="1604"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(vals[i]);<sp/></highlight></codeline>
<codeline lineno="1605"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(vals[i]-&gt;index()));</highlight></codeline>
<codeline lineno="1606"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1607"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1608"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1609"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1610"><highlight class="normal"></highlight></codeline>
<codeline lineno="1611"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(!ns.empty())<sp/>{</highlight></codeline>
<codeline lineno="1612"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Node*<sp/>node<sp/>=<sp/>ns.pop();</highlight></codeline>
<codeline lineno="1613"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(node-&gt;type())<sp/>{</highlight></codeline>
<codeline lineno="1614"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>ValNode</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1615"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ValNode*<sp/>vln<sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">ValNode*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(node);</highlight></codeline>
<codeline lineno="1616"><highlight class="normal"></highlight></codeline>
<codeline lineno="1617"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(Edge*<sp/>cur<sp/>=<sp/>vln-&gt;first();<sp/>cur<sp/>!=<sp/>NULL;<sp/>cur<sp/>=<sp/>cur-&gt;vnext())<sp/>{</highlight></codeline>
<codeline lineno="1618"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VarNode*<sp/>mate<sp/>=<sp/>cur-&gt;getVar();</highlight></codeline>
<codeline lineno="1619"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(bc)<sp/>{</highlight></codeline>
<codeline lineno="1620"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LBC:</highlight></codeline>
<codeline lineno="1621"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cur-&gt;matched(LBC))<sp/>{</highlight></codeline>
<codeline lineno="1622"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>mark<sp/>the<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1623"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur-&gt;use(LBC);</highlight></codeline>
<codeline lineno="1624"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!visited.get(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index())))<sp/>{</highlight></codeline>
<codeline lineno="1625"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(mate);<sp/></highlight></codeline>
<codeline lineno="1626"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index()));</highlight></codeline>
<codeline lineno="1627"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1628"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1629"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1630"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>UBC:</highlight></codeline>
<codeline lineno="1631"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!cur-&gt;matched(UBC))<sp/>{</highlight></codeline>
<codeline lineno="1632"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>mark<sp/>the<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1633"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur-&gt;use(UBC);</highlight></codeline>
<codeline lineno="1634"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!visited.get(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index())))<sp/>{</highlight></codeline>
<codeline lineno="1635"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(mate);<sp/></highlight></codeline>
<codeline lineno="1636"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index()));</highlight></codeline>
<codeline lineno="1637"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1638"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1639"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1640"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1641"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1642"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1643"><highlight class="normal"></highlight></codeline>
<codeline lineno="1644"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="1645"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>VarNode</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1646"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>VarNode*<sp/>vrn<sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal">VarNode*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(node);</highlight></codeline>
<codeline lineno="1647"><highlight class="normal"></highlight></codeline>
<codeline lineno="1648"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(bc)<sp/>{</highlight></codeline>
<codeline lineno="1649"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LBC:<sp/></highlight></codeline>
<codeline lineno="1650"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>after<sp/>LBC-matching<sp/>we<sp/>can<sp/>follow<sp/>every<sp/>unmatched<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1651"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(Edge*<sp/>cur<sp/>=<sp/>vrn-&gt;first();<sp/>cur<sp/>!=<sp/>NULL;<sp/>cur<sp/>=<sp/>cur-&gt;next())<sp/>{</highlight></codeline>
<codeline lineno="1652"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ValNode*<sp/>mate<sp/>=<sp/>cur-&gt;getVal();</highlight></codeline>
<codeline lineno="1653"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!cur-&gt;matched(LBC))<sp/>{</highlight></codeline>
<codeline lineno="1654"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur-&gt;use(LBC);</highlight></codeline>
<codeline lineno="1655"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!visited.get(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index())))<sp/>{</highlight></codeline>
<codeline lineno="1656"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(mate);<sp/></highlight></codeline>
<codeline lineno="1657"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index()));</highlight></codeline>
<codeline lineno="1658"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1659"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1660"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1661"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1662"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>UBC:<sp/></highlight></codeline>
<codeline lineno="1663"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>after<sp/>UBC-matching<sp/>we<sp/>can<sp/>only<sp/>follow<sp/>a<sp/>matched<sp/>edge</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1664"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="1665"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>Edge*<sp/>cur<sp/>=<sp/>vrn-&gt;get_match(UBC);</highlight></codeline>
<codeline lineno="1666"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(cur<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="1667"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>cur-&gt;use(UBC);</highlight></codeline>
<codeline lineno="1668"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ValNode*<sp/>mate<sp/>=<sp/>cur-&gt;getVal();</highlight></codeline>
<codeline lineno="1669"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!visited.get(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index())))<sp/>{</highlight></codeline>
<codeline lineno="1670"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ns.push(mate);<sp/></highlight></codeline>
<codeline lineno="1671"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>visited.set(static_cast&lt;unsigned<sp/>int&gt;(mate-&gt;index()));</highlight></codeline>
<codeline lineno="1672"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1673"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1674"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1675"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1676"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1677"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1678"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1679"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1680"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1681"><highlight class="normal"></highlight></codeline>
<codeline lineno="1682"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1683"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1684" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a8dd08f55c53dcfcd42e7240ba11f9756" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1a8dd08f55c53dcfcd42e7240ba11f9756" kindref="member">VarValGraph&lt;Card&gt;::dfs</ref>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>v,</highlight></codeline>
<codeline lineno="1685"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">BitSet</ref>&amp;<sp/>inscc,<sp/><ref refid="classGecode_1_1Support_1_1BitSet" kindref="compound">BitSet</ref>&amp;<sp/>in_unfinished,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dfsnum[],</highlight></codeline>
<codeline lineno="1686"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref>&amp;<sp/>roots,<sp/><ref refid="classGecode_1_1Support_1_1StaticStack" kindref="compound">NodeStack</ref>&amp;<sp/>unfinished,</highlight></codeline>
<codeline lineno="1687"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">&amp;<sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref>)<sp/>{</highlight></codeline>
<codeline lineno="1688"><highlight class="normal"><sp/><sp/><sp/><sp/>count++;</highlight></codeline>
<codeline lineno="1689"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>v_index<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>();</highlight></codeline>
<codeline lineno="1690"><highlight class="normal"><sp/><sp/><sp/><sp/>dfsnum[v_index]<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>=<sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref>;</highlight></codeline>
<codeline lineno="1691"><highlight class="normal"><sp/><sp/><sp/><sp/>inscc.<ref refid="classGecode_1_1Support_1_1BitSetBase_1afeefe511aa558b1571f91d7de74ee1f6" kindref="member">set</ref>(static_cast&lt;unsigned<sp/>int&gt;(v_index));</highlight></codeline>
<codeline lineno="1692"><highlight class="normal"><sp/><sp/><sp/><sp/>in_unfinished.<ref refid="classGecode_1_1Support_1_1BitSetBase_1afeefe511aa558b1571f91d7de74ee1f6" kindref="member">set</ref>(static_cast&lt;unsigned<sp/>int&gt;(v_index));</highlight></codeline>
<codeline lineno="1693"><highlight class="normal"></highlight></codeline>
<codeline lineno="1694"><highlight class="normal"><sp/><sp/><sp/><sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(v);</highlight></codeline>
<codeline lineno="1695"><highlight class="normal"><sp/><sp/><sp/><sp/>roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1aa4163f1b6a52870024cc02baf5d72259" kindref="member">push</ref>(v);</highlight></codeline>
<codeline lineno="1696"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge" kindref="compound">Edge</ref>*<sp/>e<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a6ca3606e3c63c67e312c63958cdbc3a4" kindref="member">first</ref>();<sp/>e<sp/>!=<sp/>NULL;<sp/>e<sp/>=<sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1a0a8a1a6046ea8875621192ff51bfc668" kindref="member">next</ref>(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>()))<sp/>{</highlight></codeline>
<codeline lineno="1697"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>m;</highlight></codeline>
<codeline lineno="1698"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(bc)<sp/>{</highlight></codeline>
<codeline lineno="1699"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>LBC:</highlight></codeline>
<codeline lineno="1700"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>m<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>()<sp/>?<sp/>e-&gt;matched(LBC)<sp/>:<sp/>!e-&gt;matched(LBC);</highlight></codeline>
<codeline lineno="1701"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1702"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/>UBC:</highlight></codeline>
<codeline lineno="1703"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>m<sp/>=<sp/>v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>()<sp/>?<sp/>!e-&gt;matched(UBC)<sp/>:<sp/>e-&gt;matched(UBC);</highlight></codeline>
<codeline lineno="1704"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="1705"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/>GECODE_NEVER;</highlight></codeline>
<codeline lineno="1706"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1707"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(m)<sp/>{</highlight></codeline>
<codeline lineno="1708"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>w<sp/>=<sp/>e-&gt;getMate(v-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1aa715558fd6a2db05fd5323cb8a4c4a62" kindref="member">type</ref>());</highlight></codeline>
<codeline lineno="1709"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>w_index<sp/>=<sp/>w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>();</highlight></codeline>
<codeline lineno="1710"><highlight class="normal"></highlight></codeline>
<codeline lineno="1711"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(w_index<sp/>&lt;<sp/>n_node);</highlight></codeline>
<codeline lineno="1712"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!inscc.<ref refid="classGecode_1_1Support_1_1BitSetBase_1adeddf343941d1e169e38b8e3b939f617" kindref="member">get</ref>(static_cast&lt;unsigned<sp/>int&gt;(w_index)))<sp/>{</highlight></codeline>
<codeline lineno="1713"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>w<sp/>is<sp/>an<sp/>uncompleted<sp/>scc</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1714"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">inedge</ref>(e);</highlight></codeline>
<codeline lineno="1715"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>dfs&lt;bc&gt;(w,<sp/>inscc,<sp/>in_unfinished,<sp/>dfsnum,</highlight></codeline>
<codeline lineno="1716"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>roots,<sp/>unfinished,<sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref>);</highlight></codeline>
<codeline lineno="1717"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(in_unfinished.<ref refid="classGecode_1_1Support_1_1BitSetBase_1adeddf343941d1e169e38b8e3b939f617" kindref="member">get</ref>(static_cast&lt;unsigned<sp/>int&gt;(w_index)))<sp/>{</highlight></codeline>
<codeline lineno="1718"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>even<sp/>alternating<sp/>cycle<sp/>found<sp/>mark<sp/>the<sp/>edge<sp/>closing<sp/>the<sp/>cycle,</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1719"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>completing<sp/>the<sp/>scc</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1720"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>e-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aaf7f4665485a2433ba772a94368af570" kindref="member">use</ref>(bc);</highlight></codeline>
<codeline lineno="1721"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>if<sp/>w<sp/>belongs<sp/>to<sp/>an<sp/>scc<sp/>we<sp/>detected<sp/>earlier</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1722"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>merge<sp/>components</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1723"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>()-&gt;index()<sp/>&lt;<sp/>n_node);</highlight></codeline>
<codeline lineno="1724"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(dfsnum[roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>()-&gt;index()]<sp/>&gt;<sp/>dfsnum[w_index])<sp/>{</highlight></codeline>
<codeline lineno="1725"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1726"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1727"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1728"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1729"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1730"><highlight class="normal"></highlight></codeline>
<codeline lineno="1731"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(v<sp/>==<sp/>roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1732"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(v<sp/>!=<sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>())<sp/>{</highlight></codeline>
<codeline lineno="1733"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>w<sp/>belongs<sp/>to<sp/>the<sp/>scc<sp/>with<sp/>root<sp/>v</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1734"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1Node" kindref="compound">Node</ref>*<sp/>w<sp/>=<sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>();</highlight></codeline>
<codeline lineno="1735"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a2a51477f91e4b7a5e961c2ca7e50434b" kindref="member">inedge</ref>()-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Edge_1aaf7f4665485a2433ba772a94368af570" kindref="member">use</ref>(bc);</highlight></codeline>
<codeline lineno="1736"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>in_unfinished.<ref refid="classGecode_1_1Support_1_1BitSetBase_1afbe1fe7346b3bb27d0cc8cb268819772" kindref="member">clear</ref>(static_cast&lt;unsigned<sp/>int&gt;(w-&gt;<ref refid="classGecode_1_1Int_1_1GCC_1_1Node_1a737bdc661cbb379e5cc2ff42c904df59" kindref="member">index</ref>()));</highlight></codeline>
<codeline lineno="1737"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1738"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1739"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>assert(v<sp/>==<sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1a2090f793485d7a504bd30d76903e45b7" kindref="member">top</ref>());</highlight></codeline>
<codeline lineno="1740"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>in_unfinished.<ref refid="classGecode_1_1Support_1_1BitSetBase_1afbe1fe7346b3bb27d0cc8cb268819772" kindref="member">clear</ref>(static_cast&lt;unsigned<sp/>int&gt;(v_index));</highlight></codeline>
<codeline lineno="1741"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>roots.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1742"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>unfinished.<ref refid="classGecode_1_1Support_1_1StaticStack_1a0f3dcf1d3600548d935de5569aac8f6e" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="1743"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="1744"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1745"><highlight class="normal"></highlight></codeline>
<codeline lineno="1746"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;<sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;BC<sp/>bc&gt;</highlight></codeline>
<codeline lineno="1747"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1748"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1aff26df79d05e41d225d66c498b8d359f" kindref="member">VarValGraph&lt;Card&gt;::strongly_connected_components</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="1749"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
<codeline lineno="1750"><highlight class="normal"><sp/><sp/><sp/><sp/>BitSet<sp/>inscc(r,static_cast&lt;unsigned<sp/>int&gt;(n_node));</highlight></codeline>
<codeline lineno="1751"><highlight class="normal"><sp/><sp/><sp/><sp/>BitSet<sp/>in_unfinished(r,static_cast&lt;unsigned<sp/>int&gt;(n_node));</highlight></codeline>
<codeline lineno="1752"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>dfsnum<sp/>=<sp/>r.alloc&lt;</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">&gt;(n_node);</highlight></codeline>
<codeline lineno="1753"><highlight class="normal"></highlight></codeline>
<codeline lineno="1754"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_node;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1755"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>dfsnum[i]=0;</highlight></codeline>
<codeline lineno="1756"><highlight class="normal"></highlight></codeline>
<codeline lineno="1757"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__TaskModelIntCount_1ga1ed6f089699260b994a25197199337a4" kindref="member">count</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="1758"><highlight class="normal"><sp/><sp/><sp/><sp/>NodeStack<sp/>roots(r,n_node);</highlight></codeline>
<codeline lineno="1759"><highlight class="normal"><sp/><sp/><sp/><sp/>NodeStack<sp/>unfinished(r,n_node);</highlight></codeline>
<codeline lineno="1760"><highlight class="normal"></highlight></codeline>
<codeline lineno="1761"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>n_var;<sp/>i--;<sp/>)</highlight></codeline>
<codeline lineno="1762"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>dfs&lt;bc&gt;(vars[i],<sp/>inscc,<sp/>in_unfinished,<sp/>dfsnum,</highlight></codeline>
<codeline lineno="1763"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>roots,<sp/>unfinished,<sp/>count);</highlight></codeline>
<codeline lineno="1764"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1765"><highlight class="normal"></highlight></codeline>
<codeline lineno="1766"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Card&gt;</highlight></codeline>
<codeline lineno="1767"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*</highlight></codeline>
<codeline lineno="1768" refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph_1af3c633fa0b3dd8b252d84340d3b823a2" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Int_1_1GCC_1_1VarValGraph" kindref="compound">VarValGraph&lt;Card&gt;::operator</ref><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>t,<sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&amp;<sp/>home)<sp/>{</highlight></codeline>
<codeline lineno="1769"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>home.<ref refid="group__FuncMemSpace_1gaa0195caf240d103b67bbfa607fdb8b7f" kindref="member">ralloc</ref>(t);</highlight></codeline>
<codeline lineno="1770"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="1771"><highlight class="normal"></highlight></codeline>
<codeline lineno="1772"><highlight class="normal">}}}</highlight></codeline>
<codeline lineno="1773"><highlight class="normal"></highlight></codeline>
<codeline lineno="1774"><highlight class="normal"></highlight><highlight class="comment">//<sp/>STATISTICS:<sp/>int-prop</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="1775"><highlight class="normal"></highlight></codeline>
<codeline lineno="1776"><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/usr/include/gecode/int/gcc/dom-sup.hpp"/>
</compounddef>
</doxygen>