345 lines
70 KiB
XML
345 lines
70 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="nodecursor_8hpp" kind="file">
|
|
<compoundname>nodecursor.hpp</compoundname>
|
|
<includedby refid="nodecursor_8hh" local="no">/usr/include/gecode/gist/nodecursor.hh</includedby>
|
|
<invincdepgraph>
|
|
<node id="7865">
|
|
<label>/usr/include/gecode/gist/nodecursor.hh</label>
|
|
<link refid="nodecursor_8hh_source"/>
|
|
<childnode refid="7866" relation="include">
|
|
</childnode>
|
|
<childnode refid="7867" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="7864">
|
|
<label>/usr/include/gecode/gist/nodecursor.hpp</label>
|
|
<link refid="nodecursor.hpp"/>
|
|
<childnode refid="7865" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="7867">
|
|
<label>/usr/include/gecode/gist/layoutcursor.hh</label>
|
|
<link refid="layoutcursor_8hh_source"/>
|
|
<childnode refid="7866" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="7866">
|
|
<label>/usr/include/gecode/gist/drawingcursor.hh</label>
|
|
<link refid="drawingcursor_8hh_source"/>
|
|
</node>
|
|
</invincdepgraph>
|
|
<innernamespace refid="namespaceGecode">Gecode</innernamespace>
|
|
<innernamespace refid="namespaceGecode_1_1Gist">Gecode::Gist</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/>Guido<sp/>Tack<sp/><tack@gecode.org></highlight></codeline>
|
|
<codeline lineno="5"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/><sp/>Copyright:</highlight></codeline>
|
|
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Guido<sp/>Tack,<sp/>2006</highlight></codeline>
|
|
<codeline lineno="8"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="9"><highlight class="comment"><sp/>*<sp/><sp/>Last<sp/>modified:</highlight></codeline>
|
|
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Date:<sp/>2013-05-06<sp/>09:02:17<sp/>+0200<sp/>(Mon,<sp/>06<sp/>May<sp/>2013)<sp/>$<sp/>by<sp/>$Author:<sp/>tack<sp/>$</highlight></codeline>
|
|
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Revision:<sp/>13613<sp/>$</highlight></codeline>
|
|
<codeline lineno="12"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="13"><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="14"><highlight class="comment"><sp/>*<sp/><sp/>development<sp/>environment:</highlight></codeline>
|
|
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>http://www.gecode.org</highlight></codeline>
|
|
<codeline lineno="16"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="17"><highlight class="comment"><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="18"><highlight class="comment"><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="19"><highlight class="comment"><sp/>*<sp/>"Software"),<sp/>to<sp/>deal<sp/>in<sp/>the<sp/>Software<sp/>without<sp/>restriction,<sp/>including</highlight></codeline>
|
|
<codeline lineno="20"><highlight class="comment"><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="21"><highlight class="comment"><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="22"><highlight class="comment"><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="23"><highlight class="comment"><sp/>*<sp/>the<sp/>following<sp/>conditions:</highlight></codeline>
|
|
<codeline lineno="24"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="25"><highlight class="comment"><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="26"><highlight class="comment"><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="27"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="28"><highlight class="comment"><sp/>*<sp/>THE<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>"AS<sp/>IS",<sp/>WITHOUT<sp/>WARRANTY<sp/>OF<sp/>ANY<sp/>KIND,</highlight></codeline>
|
|
<codeline lineno="29"><highlight class="comment"><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="30"><highlight class="comment"><sp/>*<sp/>MERCHANTABILITY,<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>AND</highlight></codeline>
|
|
<codeline lineno="31"><highlight class="comment"><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="32"><highlight class="comment"><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="33"><highlight class="comment"><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="34"><highlight class="comment"><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="35"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="36"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="37"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="38"><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">Gist<sp/>{</highlight></codeline>
|
|
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="40"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="41"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="42" refid="classGecode_1_1Gist_1_1NodeCursor_1a5f230c3e4a60f5f91bc2924dae05495d" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a5f230c3e4a60f5f91bc2924dae05495d" kindref="member">NodeCursor<Node>::NodeCursor</ref>(<ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*<sp/>theNode,</highlight></codeline>
|
|
<codeline lineno="43"><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/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">typename</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">Node::NodeAllocator</ref>&<sp/>na0)</highlight></codeline>
|
|
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/>:<sp/>_startNode(theNode),<sp/>_node(theNode),<sp/></highlight></codeline>
|
|
<codeline lineno="45"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>_alternative(theNode->getAlternative(na0)),</highlight></codeline>
|
|
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>na(na0)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="48"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="49"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*</highlight></codeline>
|
|
<codeline lineno="50" refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">NodeCursor<Node>::node</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_node;<sp/>}</highlight></codeline>
|
|
<codeline lineno="51"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="52"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="53"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="54" refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">NodeCursor<Node>::alternative</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_alternative;<sp/>}</highlight></codeline>
|
|
<codeline lineno="55"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="56"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="57"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="58" refid="classGecode_1_1Gist_1_1NodeCursor_1ae30df12f03597c90da69f21f49914aa7" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">NodeCursor<Node>::alternative</ref>(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>a)<sp/>{<sp/>_alternative=a;<sp/>}</highlight></codeline>
|
|
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="60"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="61"><highlight class="normal"><sp/><sp/>forceinline<sp/><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*</highlight></codeline>
|
|
<codeline lineno="62" refid="classGecode_1_1Gist_1_1NodeCursor_1aafd421a2dc921f0e2bed9671055abb34" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aafd421a2dc921f0e2bed9671055abb34" kindref="member">NodeCursor<Node>::startNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_startNode;<sp/>}</highlight></codeline>
|
|
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="64"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="65"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="66" refid="classGecode_1_1Gist_1_1NodeCursor_1ab8f69a5de0bb2e4ef7e1c02b82e6b31e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">NodeCursor<Node>::node</ref>(<ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*<sp/>n)<sp/>{<sp/>_node<sp/>=<sp/>n;<sp/>}</highlight></codeline>
|
|
<codeline lineno="67"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="68"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="69"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="70" refid="classGecode_1_1Gist_1_1NodeCursor_1ac09a2c1a196d04d08271b77c0f53d60c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1ac09a2c1a196d04d08271b77c0f53d60c" kindref="member">NodeCursor<Node>::mayMoveUpwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_node<sp/>!=<sp/>_startNode<sp/>&&<sp/>!_node->isRoot();</highlight></codeline>
|
|
<codeline lineno="72"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="73"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="74"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="75"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="76" refid="classGecode_1_1Gist_1_1NodeCursor_1a51383e2a893a05d6260cf2bfc3850481" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a51383e2a893a05d6260cf2bfc3850481" kindref="member">NodeCursor<Node>::moveUpwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/>_node<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal"><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*</highlight><highlight class="keyword">></highlight><highlight class="normal">(_node->getParent(na));</highlight></codeline>
|
|
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(_node->isRoot())<sp/>{</highlight></codeline>
|
|
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>_alternative<sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
<codeline lineno="81"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*<sp/>p<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal"><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*</highlight><highlight class="keyword">></highlight><highlight class="normal">(_node->getParent(na));</highlight></codeline>
|
|
<codeline lineno="82"><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=p-><ref refid="classGecode_1_1Gist_1_1Node_1afbbbcaf065a9cf68d2bee0414468000d" kindref="member">getNumberOfChildren</ref>();<sp/>i--;)<sp/>{</highlight></codeline>
|
|
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(p-><ref refid="classGecode_1_1Gist_1_1Node_1a81a3ee39115b6771a4d63edfeef2fe47" kindref="member">getChild</ref>(na,i)<sp/>==<sp/>_node)<sp/>{</highlight></codeline>
|
|
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_alternative<sp/>=<sp/>i;</highlight></codeline>
|
|
<codeline lineno="85"><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="86"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="89"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="91"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="92"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="93" refid="classGecode_1_1Gist_1_1NodeCursor_1a6ed0e3862054186bdb199491a17fe0df" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a6ed0e3862054186bdb199491a17fe0df" kindref="member">NodeCursor<Node>::mayMoveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>_node->getNumberOfChildren()<sp/>><sp/>0;</highlight></codeline>
|
|
<codeline lineno="95"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="96"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="97"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="98"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="99" refid="classGecode_1_1Gist_1_1NodeCursor_1add0fd81655e62118548be719e0869809" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1add0fd81655e62118548be719e0869809" kindref="member">NodeCursor<Node>::moveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/>_alternative<sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/>_node<sp/>=<sp/>_node->getChild(na,0);</highlight></codeline>
|
|
<codeline lineno="102"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="103"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="104"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="105"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="106" refid="classGecode_1_1Gist_1_1NodeCursor_1a6a5b08af9795b8eae2f27ac0bd2605d1" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a6a5b08af9795b8eae2f27ac0bd2605d1" kindref="member">NodeCursor<Node>::mayMoveSidewards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(!_node->isRoot())<sp/>&&<sp/>(_node<sp/>!=<sp/>_startNode)<sp/>&&</highlight></codeline>
|
|
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>(_alternative<sp/><<sp/>_node->getParent(na)->getNumberOfChildren()<sp/>-<sp/>1);</highlight></codeline>
|
|
<codeline lineno="109"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="111"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Node></highlight></codeline>
|
|
<codeline lineno="112"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="113" refid="classGecode_1_1Gist_1_1NodeCursor_1aac74c6ac9b49167865ea1e76d0c235e0" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aac74c6ac9b49167865ea1e76d0c235e0" kindref="member">NodeCursor<Node>::moveSidewards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/>_node<sp/>=<sp/></highlight></codeline>
|
|
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="normal"><ref refid="classGecode_1_1Gist_1_1Node" kindref="compound">Node</ref>*</highlight><highlight class="keyword">></highlight><highlight class="normal">(_node->getParent(na)->getChild(na,++_alternative));</highlight></codeline>
|
|
<codeline lineno="116"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="117"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="118"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="119" refid="classGecode_1_1Gist_1_1HideFailedCursor_1a3fb41c1d0a899eaa7dcfd34fc88d792a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1HideFailedCursor_1a3fb41c1d0a899eaa7dcfd34fc88d792a" kindref="member">HideFailedCursor::mayMoveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(!onlyDirty<sp/>||<sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1af2386a00f597b0903b177f0227d4914f" kindref="member">isDirty</ref>())<sp/>&&</highlight></codeline>
|
|
<codeline lineno="122"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor<VisualNode>::mayMoveDownwards</ref>()<sp/>&&</highlight></codeline>
|
|
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a97366b607037285b6b6e5a821c66afd2" kindref="member">hasSolvedChildren</ref>()<sp/>||<sp/>n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1af27441fca912ea5b2d95257a2199442d" kindref="member">getNoOfOpenChildren</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>)<sp/>><sp/>0)<sp/>&&</highlight></codeline>
|
|
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(!<sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1ab803c811afb36214ce8481f1b5dade97" kindref="member">isHidden</ref>());</highlight></codeline>
|
|
<codeline lineno="125"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="126"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="127"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="128" refid="classGecode_1_1Gist_1_1HideFailedCursor_1ac539a0bf138bc862aec9ca47b929fa3e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1HideFailedCursor_1ac539a0bf138bc862aec9ca47b929fa3e" kindref="member">HideFailedCursor::HideFailedCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,</highlight></codeline>
|
|
<codeline lineno="129"><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/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na,</highlight></codeline>
|
|
<codeline lineno="130"><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/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>onlyDirtyNodes)</highlight></codeline>
|
|
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na),<sp/>onlyDirty(onlyDirtyNodes)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="132"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="133"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="134" refid="classGecode_1_1Gist_1_1HideFailedCursor_1a95bda2b8088d780133f7ea540f0ca419" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1HideFailedCursor_1a95bda2b8088d780133f7ea540f0ca419" kindref="member">HideFailedCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a761b8c0b2bdfbfc3616af1fc48537250" kindref="member">getStatus</ref>()<sp/>==<sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2ae308a0588594d6179c3e38c8a719bc16" kindref="member">BRANCH</ref><sp/>&&</highlight></codeline>
|
|
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>!n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a97366b607037285b6b6e5a821c66afd2" kindref="member">hasSolvedChildren</ref>()<sp/>&&</highlight></codeline>
|
|
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1af27441fca912ea5b2d95257a2199442d" kindref="member">getNoOfOpenChildren</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>)<sp/>==<sp/>0)<sp/>{</highlight></codeline>
|
|
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a414b6a2df104f79a45ced8423a78e520" kindref="member">setHidden</ref>(</highlight><highlight class="keyword">true</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a91bbcecc5e83928d64c96fb9f3bcda1c" kindref="member">setChildrenLayoutDone</ref>(</highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a82eac730beac2ae4a9744716fef5b71a" kindref="member">dirtyUp</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>);</highlight></codeline>
|
|
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="143"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="144"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="145"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="146" refid="classGecode_1_1Gist_1_1UnhideAllCursor_1a7bbeaa963eb72735f7b521d269185008" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1UnhideAllCursor_1a7bbeaa963eb72735f7b521d269185008" kindref="member">UnhideAllCursor::UnhideAllCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,</highlight></codeline>
|
|
<codeline lineno="147"><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/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="150"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="151" refid="classGecode_1_1Gist_1_1UnhideAllCursor_1a9609dd6fbb0de8c7f4509277e0605916" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1UnhideAllCursor_1a9609dd6fbb0de8c7f4509277e0605916" kindref="member">UnhideAllCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1ab803c811afb36214ce8481f1b5dade97" kindref="member">isHidden</ref>())<sp/>{</highlight></codeline>
|
|
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a414b6a2df104f79a45ced8423a78e520" kindref="member">setHidden</ref>(</highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a82eac730beac2ae4a9744716fef5b71a" kindref="member">dirtyUp</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>);</highlight></codeline>
|
|
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="157"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="158"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="159"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="160" refid="classGecode_1_1Gist_1_1UnstopAllCursor_1a12f193b2364ff5ac153c4497cccd32de" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1UnstopAllCursor_1a12f193b2364ff5ac153c4497cccd32de" kindref="member">UnstopAllCursor::UnstopAllCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,</highlight></codeline>
|
|
<codeline lineno="161"><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/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="163"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="164"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="165" refid="classGecode_1_1Gist_1_1UnstopAllCursor_1ace519f1b91b99c634cb32ec5e730d37c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1UnstopAllCursor_1ace519f1b91b99c634cb32ec5e730d37c" kindref="member">UnstopAllCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a761b8c0b2bdfbfc3616af1fc48537250" kindref="member">getStatus</ref>()<sp/>==<sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2aaeeabebe4a3c4d07bbca0a7ed595759d" kindref="member">STOP</ref>)<sp/>{</highlight></codeline>
|
|
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a1b880608fc8af62dcaf46937e40d54ae" kindref="member">setStop</ref>(</highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a82eac730beac2ae4a9744716fef5b71a" kindref="member">dirtyUp</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>);</highlight></codeline>
|
|
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="171"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="172"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="173"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="174" refid="classGecode_1_1Gist_1_1NextSolCursor_1a8a522b0d2b15d4590d7bd7e906251125" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1a8a522b0d2b15d4590d7bd7e906251125" kindref="member">NextSolCursor::NextSolCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>theNode,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>backwards,</highlight></codeline>
|
|
<codeline lineno="175"><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/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(theNode,na),<sp/>back(backwards)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="177"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="178"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="179" refid="classGecode_1_1Gist_1_1NextSolCursor_1aac123eaa0b54647c66d4fb3a7302c693" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1aac123eaa0b54647c66d4fb3a7302c693" kindref="member">NextSolCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="180"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="181"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="182"><highlight class="normal"><sp/><sp/>NextSolCursor::notOnSol(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()<sp/>==<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aafd421a2dc921f0e2bed9671055abb34" kindref="member">startNode</ref>()<sp/>||<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a761b8c0b2bdfbfc3616af1fc48537250" kindref="member">getStatus</ref>()<sp/>!=<sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2ad54c985d9a7dfd1c3754aade3dba4b5d" kindref="member">SOLVED</ref>;</highlight></codeline>
|
|
<codeline lineno="184"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="185"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="186"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="187" refid="classGecode_1_1Gist_1_1NextSolCursor_1ac59dfa0925c860fdf3adb45fff17a5c8" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1ac59dfa0925c860fdf3adb45fff17a5c8" kindref="member">NextSolCursor::mayMoveUpwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>notOnSol()<sp/>&&<sp/>!<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1Node_1a2b0f5b6e8ab7b1c0ca0dd91abbac7a97" kindref="member">isRoot</ref>();</highlight></codeline>
|
|
<codeline lineno="189"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="190"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="191"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="192" refid="classGecode_1_1Gist_1_1NextSolCursor_1a36fb9e9daa5b25483a4a2300ce50b4c3" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1a36fb9e9daa5b25483a4a2300ce50b4c3" kindref="member">NextSolCursor::mayMoveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>notOnSol()<sp/>&&<sp/>!(back<sp/>&&<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()<sp/>==<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aafd421a2dc921f0e2bed9671055abb34" kindref="member">startNode</ref>())</highlight></codeline>
|
|
<codeline lineno="194"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&&<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a97366b607037285b6b6e5a821c66afd2" kindref="member">hasSolvedChildren</ref>()</highlight></codeline>
|
|
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>&&<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a6ed0e3862054186bdb199491a17fe0df" kindref="member">NodeCursor<VisualNode>::mayMoveDownwards</ref>();</highlight></codeline>
|
|
<codeline lineno="196"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="197"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="198"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="199" refid="classGecode_1_1Gist_1_1NextSolCursor_1a06c207c25f2575435bbc4dc2f8be683b" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1a06c207c25f2575435bbc4dc2f8be683b" kindref="member">NextSolCursor::moveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1add0fd81655e62118548be719e0869809" kindref="member">NodeCursor<VisualNode>::moveDownwards</ref>();</highlight></codeline>
|
|
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(back)<sp/>{</highlight></codeline>
|
|
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(<ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor<VisualNode>::mayMoveSidewards</ref>())</highlight></codeline>
|
|
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aac74c6ac9b49167865ea1e76d0c235e0" kindref="member">NodeCursor<VisualNode>::moveSidewards</ref>();</highlight></codeline>
|
|
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="205"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="206"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="207"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="208" refid="classGecode_1_1Gist_1_1NextSolCursor_1a059925fd00b580d0af983593e9121db3" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1a059925fd00b580d0af983593e9121db3" kindref="member">NextSolCursor::mayMoveSidewards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(back)<sp/>{</highlight></codeline>
|
|
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>notOnSol()<sp/>&&<sp/>!<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1Node_1a2b0f5b6e8ab7b1c0ca0dd91abbac7a97" kindref="member">isRoot</ref>()<sp/>&&<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>()<sp/>><sp/>0;</highlight></codeline>
|
|
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>notOnSol()<sp/>&&<sp/>!<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1Node_1a2b0f5b6e8ab7b1c0ca0dd91abbac7a97" kindref="member">isRoot</ref>()<sp/>&&</highlight></codeline>
|
|
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>()<sp/><</highlight></codeline>
|
|
<codeline lineno="214"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1Node_1af832b649d232c4d03b6fcf534c3482e7" kindref="member">getParent</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>)->getNumberOfChildren()<sp/>-<sp/>1);</highlight></codeline>
|
|
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="216"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="217"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="218"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="219" refid="classGecode_1_1Gist_1_1NextSolCursor_1a6c650c05a0d355e87fcec96a500c6a17" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NextSolCursor_1a6c650c05a0d355e87fcec96a500c6a17" kindref="member">NextSolCursor::moveSidewards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(back)<sp/>{</highlight></codeline>
|
|
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>()-1);</highlight></codeline>
|
|
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()->getParent(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>)->getChild(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>,<ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>()));</highlight></codeline>
|
|
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1aac74c6ac9b49167865ea1e76d0c235e0" kindref="member">NodeCursor<VisualNode>::moveSidewards</ref>();</highlight></codeline>
|
|
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="226"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="227"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="228"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="229" refid="classGecode_1_1Gist_1_1StatCursor_1a006757a2582db9773d08f241301146eb" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a006757a2582db9773d08f241301146eb" kindref="member">StatCursor::StatCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,</highlight></codeline>
|
|
<codeline lineno="230"><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="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na),</highlight></codeline>
|
|
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/>curDepth(0),<sp/>depth(0),<sp/>failed(0),<sp/>solved(0),<sp/>choice(0),<sp/>open(0)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="233"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="234"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="235" refid="classGecode_1_1Gist_1_1StatCursor_1ae4d24e5aa06ab1de07338eae6c1065a6" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1ae4d24e5aa06ab1de07338eae6c1065a6" kindref="member">StatCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">switch</highlight><highlight class="normal"><sp/>(n-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a761b8c0b2bdfbfc3616af1fc48537250" kindref="member">getStatus</ref>())<sp/>{</highlight></codeline>
|
|
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2ad54c985d9a7dfd1c3754aade3dba4b5d" kindref="member">SOLVED</ref>:<sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a93172be39db0f78c904fd5bab9e00052" kindref="member">solved</ref>++;<sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2a59362c20c76a8fa9ab7b68029d9d10dd" kindref="member">FAILED</ref>:<sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a2a90785351f279defd6d562e1c79837c" kindref="member">failed</ref>++;<sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2ae308a0588594d6179c3e38c8a719bc16" kindref="member">BRANCH</ref>:<sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a03f571e0a6a8b8c9a3188c3c9d37e070" kindref="member">choice</ref>++;<sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">case</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Gist_1a579d345f937ff0b19a2a4157995931f2a136607a803fcc25c40a5d41fcfaf45eb" kindref="member">UNDETERMINED</ref>:<sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a8f26ca37cc88393a52f8d7622587965b" kindref="member">open</ref>++;<sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">default</highlight><highlight class="normal">:<sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="244"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="245"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="246"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="247" refid="classGecode_1_1Gist_1_1StatCursor_1a40360d1e062ef26503006213191f422a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a40360d1e062ef26503006213191f422a" kindref="member">StatCursor::moveDownwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/>curDepth++;</highlight></codeline>
|
|
<codeline lineno="249"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a4954a48a7f1e747c68a2a83b61628fcd" kindref="member">depth</ref><sp/>=<sp/><ref refid="group__TaskModelFloatArith_1ga958cb25ae9754d6cc35c7c6e34ebc1e3" kindref="member">std::max</ref>(<ref refid="classGecode_1_1Gist_1_1StatCursor_1a4954a48a7f1e747c68a2a83b61628fcd" kindref="member">depth</ref>,curDepth);<sp/></highlight></codeline>
|
|
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1add0fd81655e62118548be719e0869809" kindref="member">NodeCursor<VisualNode>::moveDownwards</ref>();</highlight></codeline>
|
|
<codeline lineno="251"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="252"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="253"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="254" refid="classGecode_1_1Gist_1_1StatCursor_1a1fde6cf4fe6fa9ff751bc45b581009c4" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1StatCursor_1a1fde6cf4fe6fa9ff751bc45b581009c4" kindref="member">StatCursor::moveUpwards</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/>curDepth--;</highlight></codeline>
|
|
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a51383e2a893a05d6260cf2bfc3850481" kindref="member">NodeCursor<VisualNode>::moveUpwards</ref>();</highlight></codeline>
|
|
<codeline lineno="257"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="258"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="259"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="260" refid="classGecode_1_1Gist_1_1BranchLabelCursor_1a5595afdb8e2628dcd7e71532b8f71622" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1BranchLabelCursor_1a5595afdb8e2628dcd7e71532b8f71622" kindref="member">BranchLabelCursor::BranchLabelCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,<sp/><ref refid="classGecode_1_1Gist_1_1BestNode" kindref="compound">BestNode</ref>*<sp/>curBest,</highlight></codeline>
|
|
<codeline lineno="261"><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/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>c_d,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>a_d,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>clear,</highlight></codeline>
|
|
<codeline lineno="262"><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/><sp/><sp/><sp/><sp/><sp/><sp/>VisualNode::NodeAllocator&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na),<sp/>_na(na),<sp/>_curBest(curBest),</highlight></codeline>
|
|
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>_c_d(c_d),<sp/>_a_d(a_d),<sp/>_clear(clear)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="265"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="266"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="267"><highlight class="normal"><sp/><sp/>BranchLabelCursor::processCurrentNode(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>n<sp/>=<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>();</highlight></codeline>
|
|
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!_clear)<sp/>{</highlight></codeline>
|
|
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>.<ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase_1afd56672dce9bee17affc58f03d3c4a6b" kindref="member">hasLabel</ref>(n))<sp/>{</highlight></codeline>
|
|
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>p<sp/>=<sp/>n-><ref refid="classGecode_1_1Gist_1_1Node_1af832b649d232c4d03b6fcf534c3482e7" kindref="member">getParent</ref>(_na);</highlight></codeline>
|
|
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(p)<sp/>{</highlight></codeline>
|
|
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::string<sp/>l<sp/>=</highlight></codeline>
|
|
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a6f4ccebf631a5f8c505fa5561375b0e9" kindref="member">getBranchLabel</ref>(_na,p,p-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1a61558968dcfcbb1ae26b4d0d9bbda703" kindref="member">getChoice</ref>(),</highlight></codeline>
|
|
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_curBest,_c_d,_a_d,<ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>());</highlight></codeline>
|
|
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_na.setLabel(n,QString(l.c_str()));</highlight></codeline>
|
|
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(n-><ref refid="classGecode_1_1Gist_1_1Node_1afbbbcaf065a9cf68d2bee0414468000d" kindref="member">getNumberOfChildren</ref>()<sp/><<sp/>1<sp/>&&</highlight></codeline>
|
|
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1af0f52939ef370ba2a509dcc9e075c442" kindref="member">alternative</ref>()<sp/>==<sp/>p-><ref refid="classGecode_1_1Gist_1_1Node_1afbbbcaf065a9cf68d2bee0414468000d" kindref="member">getNumberOfChildren</ref>()-1)</highlight></codeline>
|
|
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>p-><ref refid="classGecode_1_1Gist_1_1SpaceNode_1ab19a1eeeee22227fc2d23cc088cbb1aa" kindref="member">purge</ref>(_na);</highlight></codeline>
|
|
<codeline lineno="280"><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="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>_na.setLabel(n,</highlight><highlight class="stringliteral">""</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>_na.clearLabel(n);</highlight></codeline>
|
|
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/>n-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a82eac730beac2ae4a9744716fef5b71a" kindref="member">dirtyUp</ref>(<ref refid="classGecode_1_1Gist_1_1NodeCursor_1a327325bcfef32a267cea6d3ba1416b11" kindref="member">na</ref>);</highlight></codeline>
|
|
<codeline lineno="288"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="289"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="290"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="291" refid="classGecode_1_1Gist_1_1DisposeCursor_1a6b8107a7ccdee6d410d5ca3476040c84" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1DisposeCursor_1a6b8107a7ccdee6d410d5ca3476040c84" kindref="member">DisposeCursor::DisposeCursor</ref>(<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>*<sp/>root,</highlight></codeline>
|
|
<codeline lineno="292"><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/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Gist_1_1NodeAllocatorBase" kindref="compound">VisualNode::NodeAllocator</ref>&<sp/>na)</highlight></codeline>
|
|
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor" kindref="compound">NodeCursor</ref><<ref refid="classGecode_1_1Gist_1_1VisualNode" kindref="compound">VisualNode</ref>>(root,na)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="294"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="295"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="296" refid="classGecode_1_1Gist_1_1DisposeCursor_1a0dd4396dd594a867098ad7ba759c526a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Gist_1_1DisposeCursor_1a0dd4396dd594a867098ad7ba759c526a" kindref="member">DisposeCursor::processCurrentNode</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Gist_1_1NodeCursor_1a79fb7b8bc5aa9c84c6735db1154112c9" kindref="member">node</ref>()-><ref refid="classGecode_1_1Gist_1_1VisualNode_1a4c1efbe9e269e4ff47688924509ca9e2" kindref="member">dispose</ref>();</highlight></codeline>
|
|
<codeline lineno="298"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="299"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="300"><highlight class="normal">}}</highlight></codeline>
|
|
<codeline lineno="301"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="302"><highlight class="normal"></highlight><highlight class="comment">//<sp/>STATISTICS:<sp/>gist-any</highlight><highlight class="normal"></highlight></codeline>
|
|
</programlisting>
|
|
<location file="/usr/include/gecode/gist/nodecursor.hpp"/>
|
|
</compounddef>
|
|
</doxygen>
|