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/ranges-inter_8hpp.xml
Vitor Santos Costa a8eda03305 4.2.1 support
2014-01-22 09:41:47 +00:00

1003 lines
83 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="ranges-inter_8hpp" kind="file">
<compoundname>ranges-inter.hpp</compoundname>
<includes local="no">algorithm</includes>
<includedby refid="iter_8hh" local="no">/usr/include/gecode/iter.hh</includedby>
<incdepgraph>
<node id="22405">
<label>/usr/include/gecode/iter/ranges-inter.hpp</label>
<link refid="ranges-inter.hpp"/>
<childnode refid="22406" relation="include">
</childnode>
</node>
<node id="22406">
<label>algorithm</label>
</node>
</incdepgraph>
<invincdepgraph>
<node id="22442">
<label>/usr/include/gecode/int/nvalues/int-base.hpp</label>
<link refid="nvalues_2int-base_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22425">
<label>/usr/include/gecode/int/arithmetic.hh</label>
<link refid="int_2arithmetic_8hh_source"/>
</node>
<node id="22450">
<label>/usr/include/gecode/int/view/scale.hpp</label>
<link refid="int_2view_2scale_8hpp_source"/>
<childnode refid="22451" relation="include">
</childnode>
</node>
<node id="22448">
<label>/usr/include/gecode/int/div.hh</label>
<link refid="div_8hh_source"/>
<childnode refid="22449" relation="include">
</childnode>
<childnode refid="22450" relation="include">
</childnode>
</node>
<node id="22449">
<label>/usr/include/gecode/int/arithmetic/mult.hpp</label>
<link refid="int_2arithmetic_2mult_8hpp_source"/>
<childnode refid="22425" relation="include">
</childnode>
</node>
<node id="22410">
<label>/usr/include/gecode/flatzinc.hh</label>
<link refid="flatzinc_8hh_source"/>
<childnode refid="22411" relation="include">
</childnode>
<childnode refid="22412" relation="include">
</childnode>
</node>
<node id="22431">
<label>/usr/include/gecode/int/gcc/post.hpp</label>
<link refid="int_2gcc_2post_8hpp_source"/>
<childnode refid="22432" relation="include">
</childnode>
</node>
<node id="22480">
<label>/usr/include/gecode/minimodel.hh</label>
<link refid="minimodel_8hh_source"/>
<childnode refid="22481" relation="include">
</childnode>
</node>
<node id="22468">
<label>/usr/include/gecode/int/dom/range.hpp</label>
<link refid="range_8hpp_source"/>
<childnode refid="22452" relation="include">
</childnode>
</node>
<node id="22476">
<label>/usr/include/gecode/int/cumulative.hh</label>
<link refid="cumulative_8hh_source"/>
</node>
<node id="22477">
<label>/usr/include/gecode/int/unary.hh</label>
<link refid="unary_8hh_source"/>
<childnode refid="22476" relation="include">
</childnode>
</node>
<node id="22460">
<label>/usr/include/gecode/int/no-overlap.hh</label>
<link refid="no-overlap_8hh_source"/>
</node>
<node id="22474">
<label>/usr/include/gecode/int/support-values.hh</label>
<link refid="support-values_8hh_source"/>
<childnode refid="22449" relation="include">
</childnode>
</node>
<node id="22440">
<label>/usr/include/gecode/int/cumulatives.hh</label>
<link refid="cumulatives_8hh_source"/>
</node>
<node id="22483">
<label>/usr/include/gecode/set/channel.hh</label>
<link refid="set_2channel_8hh_source"/>
</node>
<node id="22441">
<label>/usr/include/gecode/int/distinct.hh</label>
<link refid="int_2distinct_8hh_source"/>
<childnode refid="22437" relation="include">
</childnode>
<childnode refid="22438" relation="include">
</childnode>
<childnode refid="22431" relation="include">
</childnode>
<childnode refid="22442" relation="include">
</childnode>
<childnode refid="22443" relation="include">
</childnode>
<childnode refid="22444" relation="include">
</childnode>
<childnode refid="22445" relation="include">
</childnode>
<childnode refid="22446" relation="include">
</childnode>
</node>
<node id="22419">
<label>/usr/include/gecode/gist/mainwindow.hh</label>
<link refid="mainwindow_8hh_source"/>
</node>
<node id="22497">
<label>/usr/include/gecode/set/rel.hh</label>
<link refid="set_2rel_8hh_source"/>
<childnode refid="22485" relation="include">
</childnode>
<childnode refid="22454" relation="include">
</childnode>
<childnode refid="22495" relation="include">
</childnode>
<childnode refid="22496" relation="include">
</childnode>
<childnode refid="22498" relation="include">
</childnode>
</node>
<node id="22487">
<label>/usr/include/gecode/set/int.hh</label>
<link refid="set_2int_8hh_source"/>
</node>
<node id="22421">
<label>/usr/include/gecode/gist/preferences.hh</label>
<link refid="preferences_8hh_source"/>
</node>
<node id="22470">
<label>/usr/include/gecode/int/member/prop.hpp</label>
<link refid="member_2prop_8hpp_source"/>
<childnode refid="22459" relation="include">
</childnode>
</node>
<node id="22455">
<label>/usr/include/gecode/int/exec.hh</label>
<link refid="exec_8hh_source"/>
</node>
<node id="22462">
<label>/usr/include/gecode/int/rel.hh</label>
<link refid="int_2rel_8hh_source"/>
<childnode refid="22463" relation="include">
</childnode>
<childnode refid="22464" relation="include">
</childnode>
<childnode refid="22465" relation="include">
</childnode>
<childnode refid="22425" relation="include">
</childnode>
<childnode refid="22466" relation="include">
</childnode>
<childnode refid="22467" relation="include">
</childnode>
<childnode refid="22441" relation="include">
</childnode>
<childnode refid="22468" relation="include">
</childnode>
<childnode refid="22452" relation="include">
</childnode>
<childnode refid="22469" relation="include">
</childnode>
<childnode refid="22453" relation="include">
</childnode>
<childnode refid="22456" relation="include">
</childnode>
<childnode refid="22470" relation="include">
</childnode>
<childnode refid="22471" relation="include">
</childnode>
<childnode refid="22433" relation="include">
</childnode>
<childnode refid="22472" relation="include">
</childnode>
<childnode refid="22443" relation="include">
</childnode>
<childnode refid="22444" relation="include">
</childnode>
<childnode refid="22445" relation="include">
</childnode>
<childnode refid="22473" relation="include">
</childnode>
<childnode refid="22446" relation="include">
</childnode>
</node>
<node id="22481">
<label>/usr/include/gecode/driver.hh</label>
<link refid="driver_8hh_source"/>
<childnode refid="22410" relation="include">
</childnode>
</node>
<node id="22464">
<label>/usr/include/gecode/int/arithmetic/nroot.hpp</label>
<link refid="nroot_8hpp_source"/>
<childnode refid="22425" relation="include">
</childnode>
</node>
<node id="22416">
<label>/usr/include/gecode/float.hh</label>
<link refid="float_8hh_source"/>
<childnode refid="22413" relation="include">
</childnode>
<childnode refid="22417" relation="include">
</childnode>
<childnode refid="22414" relation="include">
</childnode>
<childnode refid="22415" relation="include">
</childnode>
</node>
<node id="22463">
<label>/usr/include/gecode/int/arithmetic/max.hpp</label>
<link refid="max_8hpp_source"/>
<childnode refid="22425" relation="include">
</childnode>
</node>
<node id="22459">
<label>/usr/include/gecode/int/member.hh</label>
<link refid="member_8hh_source"/>
</node>
<node id="22411">
<label>/usr/include/gecode/flatzinc/parser.hh</label>
<link refid="parser_8hh_source"/>
</node>
<node id="22424">
<label>/usr/include/gecode/gist/qtgist.hh</label>
<link refid="qtgist_8hh_source"/>
<childnode refid="22419" relation="include">
</childnode>
<childnode refid="22420" relation="include">
</childnode>
</node>
<node id="22472">
<label>/usr/include/gecode/int/nvalues/bool-gq.hpp</label>
<link refid="bool-gq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22491">
<label>/usr/include/gecode/set/branch.hh</label>
<link refid="set_2branch_8hh_source"/>
</node>
<node id="22439">
<label>/usr/include/gecode/int/count.hh</label>
<link refid="count_8hh_source"/>
</node>
<node id="22423">
<label>/usr/include/gecode/gist/treecanvas.hh</label>
<link refid="treecanvas_8hh_source"/>
<childnode refid="22424" relation="include">
</childnode>
</node>
<node id="22444">
<label>/usr/include/gecode/int/nvalues/int-gq.hpp</label>
<link refid="nvalues_2int-gq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22467">
<label>/usr/include/gecode/int/count/rel.hpp</label>
<link refid="rel_8hpp_source"/>
<childnode refid="22439" relation="include">
</childnode>
</node>
<node id="22454">
<label>/usr/include/gecode/set/element.hh</label>
<link refid="set_2element_8hh_source"/>
</node>
<node id="22493">
<label>/usr/include/gecode/set/distinct.hh</label>
<link refid="set_2distinct_8hh_source"/>
</node>
<node id="22496">
<label>/usr/include/gecode/set/rel-op.hh</label>
<link refid="rel-op_8hh_source"/>
<childnode refid="22454" relation="include">
</childnode>
<childnode refid="22495" relation="include">
</childnode>
</node>
<node id="22445">
<label>/usr/include/gecode/int/nvalues/int-lq.hpp</label>
<link refid="nvalues_2int-lq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22453">
<label>/usr/include/gecode/int/element.hh</label>
<link refid="int_2element_8hh_source"/>
<childnode refid="22454" relation="include">
</childnode>
</node>
<node id="22437">
<label>/usr/include/gecode/int/channel.hh</label>
<link refid="int_2channel_8hh_source"/>
</node>
<node id="22458">
<label>/usr/include/gecode/set/ldsb.hh</label>
<link refid="set_2ldsb_8hh_source"/>
</node>
<node id="22420">
<label>/usr/include/gecode/gist/nodewidget.hh</label>
<link refid="nodewidget_8hh_source"/>
</node>
<node id="22451">
<label>/usr/include/gecode/int/view.hpp</label>
<link refid="int_2view_8hpp_source"/>
<childnode refid="22409" relation="include">
</childnode>
</node>
<node id="22426">
<label>/usr/include/gecode/int/bin-packing.hh</label>
<link refid="bin-packing_8hh_source"/>
</node>
<node id="22427">
<label>/usr/include/gecode/int/bool.hh</label>
<link refid="bool_8hh_source"/>
<childnode refid="22428" relation="include">
</childnode>
<childnode refid="22433" relation="include">
</childnode>
<childnode refid="22435" relation="include">
</childnode>
</node>
<node id="22484">
<label>/usr/include/gecode/set/channel/int.hpp</label>
<link refid="set_2channel_2int_8hpp_source"/>
<childnode refid="22483" relation="include">
</childnode>
</node>
<node id="22485">
<label>/usr/include/gecode/set/channel/sorted.hpp</label>
<link refid="sorted_8hpp_source"/>
<childnode refid="22483" relation="include">
</childnode>
</node>
<node id="22471">
<label>/usr/include/gecode/int/member/re-prop.hpp</label>
<link refid="re-prop_8hpp_source"/>
<childnode refid="22459" relation="include">
</childnode>
</node>
<node id="22457">
<label>/usr/include/gecode/int/ldsb.hh</label>
<link refid="int_2ldsb_8hh_source"/>
<childnode refid="22458" relation="include">
</childnode>
</node>
<node id="22418">
<label>/usr/include/gecode/gist.hh</label>
<link refid="gist_8hh_source"/>
<childnode refid="22419" relation="include">
</childnode>
<childnode refid="22420" relation="include">
</childnode>
<childnode refid="22421" relation="include">
</childnode>
<childnode refid="22422" relation="include">
</childnode>
<childnode refid="22423" relation="include">
</childnode>
</node>
<node id="22436">
<label>/usr/include/gecode/int/branch.hh</label>
<link refid="int_2branch_8hh_source"/>
</node>
<node id="22434">
<label>/usr/include/gecode/int/nvalues.hh</label>
<link refid="nvalues_8hh_source"/>
</node>
<node id="22466">
<label>/usr/include/gecode/int/bool/ite.hpp</label>
<link refid="ite_8hpp_source"/>
<childnode refid="22427" relation="include">
</childnode>
</node>
<node id="22473">
<label>/usr/include/gecode/int/sequence.hh</label>
<link refid="int_2sequence_8hh_source"/>
</node>
<node id="22479">
<label>/usr/include/gecode/int/view-val-graph.hh</label>
<link refid="view-val-graph_8hh_source"/>
<childnode refid="22441" relation="include">
</childnode>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22428">
<label>/usr/include/gecode/int/linear/bool-int.hpp</label>
<link refid="bool-int_8hpp_source"/>
<childnode refid="22429" relation="include">
</childnode>
</node>
<node id="22446">
<label>/usr/include/gecode/int/sorted/propagate.hpp</label>
<link refid="sorted_2propagate_8hpp_source"/>
<childnode refid="22447" relation="include">
</childnode>
</node>
<node id="22415">
<label>/usr/include/gecode/float/rel.hh</label>
<link refid="float_2rel_8hh_source"/>
<childnode refid="22413" relation="include">
</childnode>
</node>
<node id="22422">
<label>/usr/include/gecode/gist/stopbrancher.hh</label>
<link refid="stopbrancher_8hh_source"/>
</node>
<node id="22413">
<label>/usr/include/gecode/float/arithmetic.hh</label>
<link refid="float_2arithmetic_8hh_source"/>
</node>
<node id="22412">
<label>/usr/include/gecode/flatzinc/registry.hh</label>
<link refid="registry_8hh_source"/>
</node>
<node id="22432">
<label>/usr/include/gecode/int/gcc.hh</label>
<link refid="gcc_8hh_source"/>
</node>
<node id="22488">
<label>/usr/include/gecode/set/int/minmax.hpp</label>
<link refid="minmax_8hpp_source"/>
<childnode refid="22487" relation="include">
</childnode>
</node>
<node id="22494">
<label>/usr/include/gecode/set/precede.hh</label>
<link refid="set_2precede_8hh_source"/>
</node>
<node id="22414">
<label>/usr/include/gecode/float/linear.hh</label>
<link refid="float_2linear_8hh_source"/>
</node>
<node id="22478">
<label>/usr/include/gecode/int/val-set.hh</label>
<link refid="val-set_8hh_source"/>
<childnode refid="22459" relation="include">
</childnode>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22409">
<label>/usr/include/gecode/int.hh</label>
<link refid="int_8hh_source"/>
<childnode refid="22410" relation="include">
</childnode>
<childnode refid="22413" relation="include">
</childnode>
<childnode refid="22414" relation="include">
</childnode>
<childnode refid="22415" relation="include">
</childnode>
<childnode refid="22416" relation="include">
</childnode>
<childnode refid="22418" relation="include">
</childnode>
<childnode refid="22425" relation="include">
</childnode>
<childnode refid="22426" relation="include">
</childnode>
<childnode refid="22427" relation="include">
</childnode>
<childnode refid="22436" relation="include">
</childnode>
<childnode refid="22437" relation="include">
</childnode>
<childnode refid="22438" relation="include">
</childnode>
<childnode refid="22439" relation="include">
</childnode>
<childnode refid="22440" relation="include">
</childnode>
<childnode refid="22441" relation="include">
</childnode>
<childnode refid="22448" relation="include">
</childnode>
<childnode refid="22452" relation="include">
</childnode>
<childnode refid="22453" relation="include">
</childnode>
<childnode refid="22455" relation="include">
</childnode>
<childnode refid="22456" relation="include">
</childnode>
<childnode refid="22432" relation="include">
</childnode>
<childnode refid="22457" relation="include">
</childnode>
<childnode refid="22429" relation="include">
</childnode>
<childnode refid="22459" relation="include">
</childnode>
<childnode refid="22460" relation="include">
</childnode>
<childnode refid="22434" relation="include">
</childnode>
<childnode refid="22461" relation="include">
</childnode>
<childnode refid="22462" relation="include">
</childnode>
<childnode refid="22473" relation="include">
</childnode>
<childnode refid="22447" relation="include">
</childnode>
<childnode refid="22474" relation="include">
</childnode>
<childnode refid="22475" relation="include">
</childnode>
<childnode refid="22478" relation="include">
</childnode>
<childnode refid="22479" relation="include">
</childnode>
<childnode refid="22480" relation="include">
</childnode>
<childnode refid="22482" relation="include">
</childnode>
<childnode refid="22484" relation="include">
</childnode>
<childnode refid="22485" relation="include">
</childnode>
<childnode refid="22486" relation="include">
</childnode>
<childnode refid="22488" relation="include">
</childnode>
<childnode refid="22489" relation="include">
</childnode>
<childnode refid="22490" relation="include">
</childnode>
</node>
<node id="22433">
<label>/usr/include/gecode/int/nvalues/bool-eq.hpp</label>
<link refid="bool-eq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22435">
<label>/usr/include/gecode/int/nvalues/bool-lq.hpp</label>
<link refid="bool-lq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22475">
<label>/usr/include/gecode/int/task.hh</label>
<link refid="task_8hh_source"/>
<childnode refid="22476" relation="include">
</childnode>
<childnode refid="22477" relation="include">
</childnode>
</node>
<node id="22456">
<label>/usr/include/gecode/int/extensional.hh</label>
<link refid="extensional_8hh_source"/>
</node>
<node id="22447">
<label>/usr/include/gecode/int/sorted.hh</label>
<link refid="sorted_8hh_source"/>
</node>
<node id="22489">
<label>/usr/include/gecode/set/int/weights.hpp</label>
<link refid="weights_8hpp_source"/>
<childnode refid="22487" relation="include">
</childnode>
</node>
<node id="22461">
<label>/usr/include/gecode/int/precede.hh</label>
<link refid="int_2precede_8hh_source"/>
</node>
<node id="22443">
<label>/usr/include/gecode/int/nvalues/int-eq.hpp</label>
<link refid="nvalues_2int-eq_8hpp_source"/>
<childnode refid="22434" relation="include">
</childnode>
</node>
<node id="22417">
<label>/usr/include/gecode/float/branch.hh</label>
<link refid="float_2branch_8hh_source"/>
</node>
<node id="22498">
<label>/usr/include/gecode/set/sequence.hh</label>
<link refid="set_2sequence_8hh_source"/>
</node>
<node id="22486">
<label>/usr/include/gecode/set/int/card.hpp</label>
<link refid="card_8hpp_source"/>
<childnode refid="22487" relation="include">
</childnode>
</node>
<node id="22407">
<label>/usr/include/gecode/iter/ranges-inter.hpp</label>
<link refid="ranges-inter.hpp"/>
<childnode refid="22408" relation="include">
</childnode>
</node>
<node id="22430">
<label>/usr/include/gecode/int/arithmetic/divmod.hpp</label>
<link refid="divmod_8hpp_source"/>
<childnode refid="22425" relation="include">
</childnode>
</node>
<node id="22429">
<label>/usr/include/gecode/int/linear.hh</label>
<link refid="int_2linear_8hh_source"/>
<childnode refid="22430" relation="include">
</childnode>
<childnode refid="22425" relation="include">
</childnode>
<childnode refid="22431" relation="include">
</childnode>
</node>
<node id="22452">
<label>/usr/include/gecode/int/dom.hh</label>
<link refid="dom_8hh_source"/>
</node>
<node id="22482">
<label>/usr/include/gecode/set/channel/bool.hpp</label>
<link refid="set_2channel_2bool_8hpp_source"/>
<childnode refid="22483" relation="include">
</childnode>
</node>
<node id="22469">
<label>/usr/include/gecode/int/element/pair.hpp</label>
<link refid="pair_8hpp_source"/>
<childnode refid="22453" relation="include">
</childnode>
</node>
<node id="22490">
<label>/usr/include/gecode/set.hh</label>
<link refid="set_8hh_source"/>
<childnode refid="22491" relation="include">
</childnode>
<childnode refid="22485" relation="include">
</childnode>
<childnode refid="22483" relation="include">
</childnode>
<childnode refid="22492" relation="include">
</childnode>
<childnode refid="22493" relation="include">
</childnode>
<childnode refid="22454" relation="include">
</childnode>
<childnode refid="22486" relation="include">
</childnode>
<childnode refid="22488" relation="include">
</childnode>
<childnode refid="22489" relation="include">
</childnode>
<childnode refid="22487" relation="include">
</childnode>
<childnode refid="22458" relation="include">
</childnode>
<childnode refid="22494" relation="include">
</childnode>
<childnode refid="22495" relation="include">
</childnode>
<childnode refid="22496" relation="include">
</childnode>
<childnode refid="22497" relation="include">
</childnode>
<childnode refid="22498" relation="include">
</childnode>
</node>
<node id="22408">
<label>/usr/include/gecode/iter.hh</label>
<link refid="iter_8hh_source"/>
<childnode refid="22409" relation="include">
</childnode>
<childnode refid="22490" relation="include">
</childnode>
</node>
<node id="22438">
<label>/usr/include/gecode/int/circuit.hh</label>
<link refid="circuit_8hh_source"/>
</node>
<node id="22495">
<label>/usr/include/gecode/set/rel-op/post.hpp</label>
<link refid="set_2rel-op_2post_8hpp_source"/>
<childnode refid="22496" relation="include">
</childnode>
</node>
<node id="22465">
<label>/usr/include/gecode/int/arithmetic/pow.hpp</label>
<link refid="pow_8hpp_source"/>
<childnode refid="22425" relation="include">
</childnode>
</node>
<node id="22492">
<label>/usr/include/gecode/set/convex.hh</label>
<link refid="convex_8hh_source"/>
</node>
</invincdepgraph>
<innerclass refid="classGecode_1_1Iter_1_1Ranges_1_1Inter" prot="public">Gecode::Iter::Ranges::Inter</innerclass>
<innerclass refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" prot="public">Gecode::Iter::Ranges::NaryInter</innerclass>
<innernamespace refid="namespaceGecode">Gecode</innernamespace>
<innernamespace refid="namespaceGecode_1_1Iter">Gecode::Iter</innernamespace>
<innernamespace refid="namespaceGecode_1_1Iter_1_1Ranges">Gecode::Iter::Ranges</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/>Christian<sp/>Schulte<sp/>&lt;schulte@gecode.org&gt;</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/>Christian<sp/>Schulte,<sp/>2004</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/>2012-09-07<sp/>17:42:21<sp/>+0200<sp/>(Fri,<sp/>07<sp/>Sep<sp/>2012)<sp/>$<sp/>by<sp/>$Author:<sp/>schulte<sp/>$</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Revision:<sp/>13069<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/><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/><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/><sp/>&quot;Software&quot;),<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/><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/><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/><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/><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/><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/><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/><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="29"><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="30"><highlight class="comment"><sp/>*<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/><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/><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/><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/><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="preprocessor">#include<sp/>&lt;algorithm&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><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">Iter<sp/>{<sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Ranges<sp/>{</highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="48" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter" kindref="compound">Inter</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1MinMax" kindref="compound">MinMax</ref><sp/>{</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="51" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ab6056439a772fd6b4ddd159dc91205d0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/>I<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ab6056439a772fd6b4ddd159dc91205d0" kindref="member">i</ref>;</highlight></codeline>
<codeline lineno="53" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a57df8aa31ea3407734e722d6cde50986" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/>J<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a57df8aa31ea3407734e722d6cde50986" kindref="member">j</ref>;</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="56"></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a37386ded6182bc805437b71f66edd293" kindref="member">Inter</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a37386ded6182bc805437b71f66edd293" kindref="member">Inter</ref>(I&amp;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ab6056439a772fd6b4ddd159dc91205d0" kindref="member">i</ref>,<sp/>J&amp;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a57df8aa31ea3407734e722d6cde50986" kindref="member">j</ref>);</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ac24f5e1616ab4207cc9be73b70ae1dfc" kindref="member">init</ref>(I&amp;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ab6056439a772fd6b4ddd159dc91205d0" kindref="member">i</ref>,<sp/>J&amp;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a57df8aa31ea3407734e722d6cde50986" kindref="member">j</ref>);</highlight></codeline>
<codeline lineno="64"></codeline>
<codeline lineno="66"></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a02bae4454e6e266a857bd3cea9d14035" kindref="member">operator ++</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight></codeline>
<codeline lineno="78" refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" kindref="compound">NaryInter</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter" kindref="compound">RangeListIter</ref><sp/>{</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="81" refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1_1RangeList" kindref="compound">RangeList</ref>*<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref>;</highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="84"></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I&gt;</highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i);</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i,<sp/>J&amp;<sp/>j);</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I&gt;</highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I*<sp/>i,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n);</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I&gt;</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i);</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i,<sp/>J&amp;<sp/>j);</highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I&gt;</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I*<sp/>i,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n);</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal">&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I&gt;</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1af7b4cd52688f1c11b01f91f1e2d20375" kindref="member">operator &amp;=</ref>(I&amp;<sp/>i);</highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" kindref="compound">NaryInter</ref>&amp;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a4af07a8ff85c13cc26668613352f013a" kindref="member">operator =</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" kindref="compound">NaryInter</ref>&amp;<sp/>m);</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="112"><highlight class="normal"></highlight></codeline>
<codeline lineno="113"><highlight class="normal"></highlight></codeline>
<codeline lineno="114"><highlight class="normal"></highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="116"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Binary<sp/>intersection</highlight></codeline>
<codeline lineno="117"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="118"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="122" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a02bae4454e6e266a857bd3cea9d14035" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a02bae4454e6e266a857bd3cea9d14035" kindref="member">Inter&lt;I,J&gt;::operator ++</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!i()<sp/>||<sp/>!j())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i()<sp/>&amp;&amp;<sp/>(i.max()<sp/>&lt;<sp/>j.min()))<sp/>++i;</highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!i())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(j()<sp/>&amp;&amp;<sp/>(j.max()<sp/>&lt;<sp/>i.min()))<sp/>++j;</highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!j())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j.min());</highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Now<sp/>the<sp/>intervals<sp/>overlap:<sp/>consume<sp/>the<sp/>smaller<sp/>interval</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/>ma<sp/>=<sp/><ref refid="group__TaskModelFloatArith_1ga121700708772a60191be6256c3c0d151" kindref="member">std::min</ref>(i.max(),j.max());</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/>mi<sp/>=<sp/><ref refid="group__TaskModelFloatArith_1ga958cb25ae9754d6cc35c7c6e34ebc1e3" kindref="member">std::max</ref>(i.min(),j.min());</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j.max())<sp/>++i;<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>++j;</highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/>done:</highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/>finish();</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight></codeline>
<codeline lineno="139"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="141" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a37386ded6182bc805437b71f66edd293" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a37386ded6182bc805437b71f66edd293" kindref="member">Inter&lt;I,J&gt;::Inter</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="142"><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="145" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ae10ea99afe1c46fcbd947ee1369997ad" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a37386ded6182bc805437b71f66edd293" kindref="member">Inter&lt;I,J&gt;::Inter</ref>(I&amp;<sp/>i0,<sp/>J&amp;<sp/>j0)</highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/>i(i0),<sp/>j(j0)<sp/>{</highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1a02bae4454e6e266a857bd3cea9d14035" kindref="member">operator ++</ref>();</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="149"><highlight class="normal"></highlight></codeline>
<codeline lineno="150"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="152" refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ac24f5e1616ab4207cc9be73b70ae1dfc" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1Inter_1ac24f5e1616ab4207cc9be73b70ae1dfc" kindref="member">Inter&lt;I,J&gt;::init</ref>(I&amp;<sp/>i0,<sp/>J&amp;<sp/>j0)<sp/>{</highlight></codeline>
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/>i<sp/>=<sp/>i0;<sp/>j<sp/>=<sp/>j0;</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/>operator<sp/>++();</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="156"><highlight class="normal"></highlight></codeline>
<codeline lineno="157"><highlight class="normal"></highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*</highlight></codeline>
<codeline lineno="159"><highlight class="comment"><sp/><sp/><sp/>*<sp/>Nary<sp/>intersection</highlight></codeline>
<codeline lineno="160"><highlight class="comment"><sp/><sp/><sp/>*</highlight></codeline>
<codeline lineno="161"><highlight class="comment"><sp/><sp/><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="162"><highlight class="normal"></highlight></codeline>
<codeline lineno="163"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="164" refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter::NaryInter</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
<codeline lineno="165"><highlight class="normal"></highlight></codeline>
<codeline lineno="166"><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/>I&gt;</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">NaryInter::init</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="169"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1acb190d616bb87905b66f399e429f94c1" kindref="member">RangeListIter::init</ref>(r);</highlight></codeline>
<codeline lineno="170"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="171"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ad200fe736a0ddb553943eda7a0c73785" kindref="member">set</ref>(<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a0ea16026e9e24ffcadab8b8947355583" kindref="member">copy</ref>(i));</highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="173"><highlight class="normal"></highlight></codeline>
<codeline lineno="174"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="175"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="176"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">NaryInter::init</ref>(<ref refid="classGecode_1_1Region" kindref="compound">Region</ref>&amp;<sp/>r,<sp/>I&amp;<sp/>i,<sp/>J&amp;<sp/>j)<sp/>{</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1acb190d616bb87905b66f399e429f94c1" kindref="member">RangeListIter::init</ref>(r);</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1RangeList" kindref="compound">RangeList</ref>*<sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1RangeList" kindref="compound">RangeList</ref>**<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a9f0ac227a70c273e05ebd9935f51710e" kindref="member">c</ref><sp/>=<sp/>&amp;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i()<sp/>&amp;&amp;<sp/>j())<sp/>{</highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i()<sp/>&amp;&amp;<sp/>(i.max()<sp/>&lt;<sp/>j.min()))<sp/>++i;</highlight></codeline>
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!i())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(j()<sp/>&amp;&amp;<sp/>(j.max()<sp/>&lt;<sp/>i.min()))<sp/>++j;</highlight></codeline>
<codeline lineno="186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!j())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="187"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j.min());</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Now<sp/>the<sp/>intervals<sp/>overlap:<sp/>consume<sp/>the<sp/>smaller<sp/>interval</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="189"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1RangeList" kindref="compound">RangeList</ref>*<sp/>t<sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a5688b76d90d5065c8c7d2aac79c16b80" kindref="member">range</ref>(<ref refid="group__TaskModelFloatArith_1ga958cb25ae9754d6cc35c7c6e34ebc1e3" kindref="member">std::max</ref>(i.min(),j.min()),</highlight></codeline>
<codeline lineno="190"><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="group__TaskModelFloatArith_1ga121700708772a60191be6256c3c0d151" kindref="member">std::min</ref>(i.max(),j.max()));</highlight></codeline>
<codeline lineno="191"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>t;<sp/>c<sp/>=<sp/>&amp;t-&gt;<ref refid="classGecode_1_1RangeList_1a0b5c08469f5b466226731976452e54a4" kindref="member">next</ref>;</highlight></codeline>
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j.max())<sp/>++i;<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>++j;</highlight></codeline>
<codeline lineno="193"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="194"><highlight class="normal"><sp/><sp/>done:</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="196"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ad200fe736a0ddb553943eda7a0c73785" kindref="member">set</ref>(h);</highlight></codeline>
<codeline lineno="197"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="198"><highlight class="normal"></highlight></codeline>
<codeline lineno="199"><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/>I&gt;</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">NaryInter::init</ref>(Region&amp;<sp/>r,<sp/>I*<sp/>i,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n)<sp/>{</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1acb190d616bb87905b66f399e429f94c1" kindref="member">RangeListIter::init</ref>(r);</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&gt;<sp/>0)<sp/>&amp;&amp;<sp/>i[0]())<sp/>{</highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>RangeList**<sp/>c<sp/>=<sp/>&amp;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="207"><highlight class="normal"></highlight></codeline>
<codeline lineno="208"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a4720de627a62a0b2aee5361e5e13df51" kindref="member">min</ref><sp/>=<sp/>i[0].min();</highlight></codeline>
<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i[0]())<sp/>{</highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Initialize<sp/>with<sp/>last<sp/>interval</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1af9ed32d0260719a410ab6c10121d4e7c" kindref="member">max</ref><sp/>=<sp/>i[0].max();</highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Intersect<sp/>with<sp/>all<sp/>other<sp/>intervals</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>restart:</highlight></codeline>
<codeline lineno="214"><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/>j=n;<sp/>j--;)<sp/>{</highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Skip<sp/>intervals<sp/>that<sp/>are<sp/>too<sp/>small</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i[j]()<sp/>&amp;&amp;<sp/>(i[j].<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1af9ed32d0260719a410ab6c10121d4e7c" kindref="member">max</ref>()<sp/>&lt;<sp/>min))</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++i[j];</highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!i[j]())</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i[j].<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a4720de627a62a0b2aee5361e5e13df51" kindref="member">min</ref>()<sp/>&gt;<sp/>max)<sp/>{</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>min=i[j].min();</highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>max=i[j].max();</highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>restart;</highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Now<sp/>the<sp/>intervals<sp/>overlap</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(min<sp/>&lt;<sp/>i[j].<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a4720de627a62a0b2aee5361e5e13df51" kindref="member">min</ref>())</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>min<sp/>=<sp/>i[j].min();</highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(max<sp/>&gt;<sp/>i[j].<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1af9ed32d0260719a410ab6c10121d4e7c" kindref="member">max</ref>())</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>max<sp/>=<sp/>i[j].max();</highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/>t<sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a5688b76d90d5065c8c7d2aac79c16b80" kindref="member">range</ref>(min,max);</highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>t;<sp/>c<sp/>=<sp/>&amp;t-&gt;next;</highlight></codeline>
<codeline lineno="233"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>The<sp/>next<sp/>interval<sp/>must<sp/>be<sp/>at<sp/>least<sp/>two<sp/>elements<sp/>away</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="234"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>min<sp/>=<sp/>max<sp/>+<sp/>2;</highlight></codeline>
<codeline lineno="235"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/>done:</highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ad200fe736a0ddb553943eda7a0c73785" kindref="member">set</ref>(h);</highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="241"><highlight class="normal"></highlight></codeline>
<codeline lineno="242"><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/>I&gt;</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter::NaryInter</ref>(Region&amp;<sp/>r,<sp/>I&amp;<sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(r,<sp/>i);</highlight></codeline>
<codeline lineno="246"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="247"><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/>I,<sp/></highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>J&gt;</highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="249"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter::NaryInter</ref>(Region&amp;<sp/>r,<sp/>I&amp;<sp/>i,<sp/>J&amp;<sp/>j)<sp/>{</highlight></codeline>
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(r,<sp/>i,<sp/>j);</highlight></codeline>
<codeline lineno="251"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="252"><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/>I&gt;</highlight></codeline>
<codeline lineno="253"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
<codeline lineno="254"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a1f63a96485115d55ceed5210dcd3a16e" kindref="member">NaryInter::NaryInter</ref>(Region&amp;<sp/>r,<sp/>I*<sp/>i,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n)<sp/>{</highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a806ff4fc9f30cf28d9a3491dffb3c421" kindref="member">init</ref>(r,<sp/>i,<sp/>n);</highlight></codeline>
<codeline lineno="256"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="257"><highlight class="normal"></highlight></codeline>
<codeline lineno="258"><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/>I&gt;</highlight></codeline>
<codeline lineno="259"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="260"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1af7b4cd52688f1c11b01f91f1e2d20375" kindref="member">NaryInter::operator &amp;=</ref>(I&amp;<sp/>i)<sp/>{</highlight></codeline>
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/>RangeList*<sp/>j<sp/>=<sp/></highlight><highlight class="keyword">get</highlight><highlight class="normal">();</highlight></codeline>
<codeline lineno="262"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>The<sp/>new<sp/>rangelist</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/>RangeList*<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/>RangeList**<sp/>c<sp/>=<sp/>&amp;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ae057a12f50ae94a4c0ef75ac25b975f8" kindref="member">h</ref>;</highlight></codeline>
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i()<sp/>&amp;&amp;<sp/>(j<sp/>!=<sp/>NULL))<sp/>{</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">do</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i()<sp/>&amp;&amp;<sp/>(i.max()<sp/>&lt;<sp/>j-&gt;min))</highlight></codeline>
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++i;</highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!i())<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>((j<sp/>!=<sp/>NULL)<sp/>&amp;&amp;<sp/>(j-&gt;max<sp/>&lt;<sp/>i.min()))<sp/>{</highlight></codeline>
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/>t<sp/>=<sp/>j-&gt;<ref refid="classGecode_1_1RangeList_1a0b5c08469f5b466226731976452e54a4" kindref="member">next</ref>;</highlight></codeline>
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>j-&gt;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1_1RangeList_1a8a1a85c83f5f9ffe423db07a02fa4d0e" kindref="member">next</ref><sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref>;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>j;</highlight></codeline>
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>j<sp/>=<sp/>t;</highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(j<sp/>==<sp/>NULL)<sp/></highlight><highlight class="keywordflow">goto</highlight><highlight class="normal"><sp/>done;</highlight></codeline>
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j-&gt;min);</highlight></codeline>
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Now<sp/>the<sp/>intervals<sp/>overlap:<sp/>consume<sp/>the<sp/>smaller<sp/>interval</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="278"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/>t<sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a5688b76d90d5065c8c7d2aac79c16b80" kindref="member">range</ref>(<ref refid="group__TaskModelFloatArith_1ga958cb25ae9754d6cc35c7c6e34ebc1e3" kindref="member">std::max</ref>(i.min(),j-&gt;min),</highlight></codeline>
<codeline lineno="279"><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="group__TaskModelFloatArith_1ga121700708772a60191be6256c3c0d151" kindref="member">std::min</ref>(i.max(),j-&gt;max),<ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref>);</highlight></codeline>
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>t;<sp/>c<sp/>=<sp/>&amp;t-&gt;next;</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(i.max()<sp/>&lt;<sp/>j-&gt;max)<sp/>{</highlight></codeline>
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++i;<sp/></highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/>t<sp/>=<sp/>j-&gt;next;</highlight></codeline>
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>j-&gt;next<sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref>;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>j;</highlight></codeline>
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>j<sp/>=<sp/>t;</highlight></codeline>
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="289"><highlight class="normal"><sp/><sp/>done:</highlight></codeline>
<codeline lineno="290"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Put<sp/>remaining<sp/>elements<sp/>into<sp/>freelist</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(j<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>RangeList*<sp/>t<sp/>=<sp/>j-&gt;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1_1RangeList_1a8a1a85c83f5f9ffe423db07a02fa4d0e" kindref="member">next</ref>;</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>j-&gt;<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1_1RangeList_1a8a1a85c83f5f9ffe423db07a02fa4d0e" kindref="member">next</ref><sp/>=<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref>;<sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>j;</highlight></codeline>
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>j<sp/>=<sp/>t;</highlight></codeline>
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/>*c<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="297"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1ad200fe736a0ddb553943eda7a0c73785" kindref="member">set</ref>(h);</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"><sp/><sp/>forceinline<sp/>NaryInter&amp;</highlight></codeline>
<codeline lineno="301" refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a4af07a8ff85c13cc26668613352f013a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a4af07a8ff85c13cc26668613352f013a" kindref="member">NaryInter::operator =</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" kindref="compound">NaryInter</ref>&amp;<sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter_1a88f09ca182df3d9dcd7657c1704691c6" kindref="member">f</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="classGecode_1_1Iter_1_1Ranges_1_1NaryInter" kindref="compound">NaryInter</ref>&amp;</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(<ref refid="classGecode_1_1Iter_1_1Ranges_1_1RangeListIter_1a4e5ec5bb8c6900217833bdfb4726e323" kindref="member">RangeListIter::operator =</ref>(m));</highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="305"><highlight class="normal"></highlight></codeline>
<codeline lineno="306"><highlight class="normal">}}}</highlight></codeline>
<codeline lineno="307"><highlight class="normal"></highlight></codeline>
<codeline lineno="308"><highlight class="normal"></highlight><highlight class="comment">//<sp/>STATISTICS:<sp/>iter-any</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="309"><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/usr/include/gecode/iter/ranges-inter.hpp"/>
</compounddef>
</doxygen>