Files
ortools-clone/docs/cpp_routing/classoperations__research_1_1SequenceVar.html
Laurent Perron 0ac3fa17eb more linear doc
2019-07-15 17:42:24 -07:00

1059 lines
55 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>OR-Tools</title>
<meta http-equiv="Content-Type" content="text/html;"/>
<meta charset="utf-8"/>
<!--<link rel='stylesheet' type='text/css' href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>-->
<link rel="stylesheet" type="text/css" href="ortools.css" title="default" media="screen,print" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
</head>
<body>
<div id="banner-container">
<div id="banner">
<span id="sfml">OR-Tools 7.2</span>
</div>
</div>
<link rel="icon" href="https://developers.google.com/optimization/images/orLogo.png">
<div id="content">
<!-- Generated by Doxygen 1.8.15 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1SequenceVar.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classoperations__research_1_1SequenceVar-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::SequenceVar Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A sequence variable is a variable whose domain is a set of possible orderings of the interval variables. </p>
<p>It allows ordering of tasks. It has two sets of methods: <a class="el" href="classoperations__research_1_1SequenceVar.html#ac8f9d8f2220c77dd4f79a652e6aa7b88" title="Computes the set of indices of interval variables that can be ranked first in the set of unranked act...">ComputePossibleFirstsAndLasts()</a>, which returns the list of interval variables that can be ranked first or last; and RankFirst/RankNotFirst/RankLast/RankNotLast, which can be used to create the search decision. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04444">4444</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5cd7df5031e4b9e89532c03f542078aa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a5cd7df5031e4b9e89532c03f542078aa">SequenceVar</a> (<a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const s, const std::vector&lt; <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * &gt; &amp;intervals, const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;nexts, const std::string &amp;<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a8be8b75223b76744791e48747677cdb6">name</a>)</td></tr>
<tr class="separator:a5cd7df5031e4b9e89532c03f542078aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a280b3b63fee8247cc2b89a5ec877497b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a280b3b63fee8247cc2b89a5ec877497b">~SequenceVar</a> () override</td></tr>
<tr class="separator:a280b3b63fee8247cc2b89a5ec877497b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af92814129c466409ff4c004002c2034d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#af92814129c466409ff4c004002c2034d">DebugString</a> () const override</td></tr>
<tr class="separator:af92814129c466409ff4c004002c2034d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12e4526c316b3d49b8cd8cb91a037118"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a12e4526c316b3d49b8cd8cb91a037118">DurationRange</a> (int64 *const dmin, int64 *const dmax) const</td></tr>
<tr class="memdesc:a12e4526c316b3d49b8cd8cb91a037118"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum and maximum duration of combined interval vars in the sequence. <a href="#a12e4526c316b3d49b8cd8cb91a037118">More...</a><br /></td></tr>
<tr class="separator:a12e4526c316b3d49b8cd8cb91a037118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55eba26b207c5fda44e8b94baa6d9d26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a55eba26b207c5fda44e8b94baa6d9d26">HorizonRange</a> (int64 *const hmin, int64 *const hmax) const</td></tr>
<tr class="memdesc:a55eba26b207c5fda44e8b94baa6d9d26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum start min and the maximum end max of all interval vars in the sequence. <a href="#a55eba26b207c5fda44e8b94baa6d9d26">More...</a><br /></td></tr>
<tr class="separator:a55eba26b207c5fda44e8b94baa6d9d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a281b19bdc37eed61de45be3ad8745550"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a281b19bdc37eed61de45be3ad8745550">ActiveHorizonRange</a> (int64 *const hmin, int64 *const hmax) const</td></tr>
<tr class="memdesc:a281b19bdc37eed61de45be3ad8745550"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the minimum start min and the maximum end max of all unranked interval vars in the sequence. <a href="#a281b19bdc37eed61de45be3ad8745550">More...</a><br /></td></tr>
<tr class="separator:a281b19bdc37eed61de45be3ad8745550"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad89b1d091262e23caf515cae51ba10c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#aad89b1d091262e23caf515cae51ba10c">ComputeStatistics</a> (int *const ranked, int *const not_ranked, int *const unperformed) const</td></tr>
<tr class="memdesc:aad89b1d091262e23caf515cae51ba10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute statistics on the sequence. <a href="#aad89b1d091262e23caf515cae51ba10c">More...</a><br /></td></tr>
<tr class="separator:aad89b1d091262e23caf515cae51ba10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44ab42e06f43ced3bd04b251965b73f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#ae44ab42e06f43ced3bd04b251965b73f">RankFirst</a> (int index)</td></tr>
<tr class="memdesc:ae44ab42e06f43ced3bd04b251965b73f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ranks the index_th interval var first of all unranked interval vars. <a href="#ae44ab42e06f43ced3bd04b251965b73f">More...</a><br /></td></tr>
<tr class="separator:ae44ab42e06f43ced3bd04b251965b73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a245d9693519203fc1a9d406684829812"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a245d9693519203fc1a9d406684829812">RankNotFirst</a> (int index)</td></tr>
<tr class="memdesc:a245d9693519203fc1a9d406684829812"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars. <a href="#a245d9693519203fc1a9d406684829812">More...</a><br /></td></tr>
<tr class="separator:a245d9693519203fc1a9d406684829812"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e28d22da71b3976d56f59a14e08854"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#aa0e28d22da71b3976d56f59a14e08854">RankLast</a> (int index)</td></tr>
<tr class="memdesc:aa0e28d22da71b3976d56f59a14e08854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ranks the index_th interval var first of all unranked interval vars. <a href="#aa0e28d22da71b3976d56f59a14e08854">More...</a><br /></td></tr>
<tr class="separator:aa0e28d22da71b3976d56f59a14e08854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e4a8cbd11cbf363fe073dca6e757b37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a4e4a8cbd11cbf363fe073dca6e757b37">RankNotLast</a> (int index)</td></tr>
<tr class="memdesc:a4e4a8cbd11cbf363fe073dca6e757b37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars. <a href="#a4e4a8cbd11cbf363fe073dca6e757b37">More...</a><br /></td></tr>
<tr class="separator:a4e4a8cbd11cbf363fe073dca6e757b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8f9d8f2220c77dd4f79a652e6aa7b88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#ac8f9d8f2220c77dd4f79a652e6aa7b88">ComputePossibleFirstsAndLasts</a> (std::vector&lt; int &gt; *const possible_firsts, std::vector&lt; int &gt; *const possible_lasts)</td></tr>
<tr class="memdesc:ac8f9d8f2220c77dd4f79a652e6aa7b88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the set of indices of interval variables that can be ranked first in the set of unranked activities. <a href="#ac8f9d8f2220c77dd4f79a652e6aa7b88">More...</a><br /></td></tr>
<tr class="separator:ac8f9d8f2220c77dd4f79a652e6aa7b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6993f8721564fc5be685998aa3e4ed47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a6993f8721564fc5be685998aa3e4ed47">RankSequence</a> (const std::vector&lt; int &gt; &amp;rank_first, const std::vector&lt; int &gt; &amp;rank_last, const std::vector&lt; int &gt; &amp;unperformed)</td></tr>
<tr class="memdesc:a6993f8721564fc5be685998aa3e4ed47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the following sequence of ranks, ranks first, then rank last. <a href="#a6993f8721564fc5be685998aa3e4ed47">More...</a><br /></td></tr>
<tr class="separator:a6993f8721564fc5be685998aa3e4ed47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9af118a9bace50fc7a94224578757a32"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a9af118a9bace50fc7a94224578757a32">FillSequence</a> (std::vector&lt; int &gt; *const rank_first, std::vector&lt; int &gt; *const rank_last, std::vector&lt; int &gt; *const unperformed) const</td></tr>
<tr class="memdesc:a9af118a9bace50fc7a94224578757a32"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears 'rank_first' and 'rank_last', and fills them with the intervals in the order of the ranks. <a href="#a9af118a9bace50fc7a94224578757a32">More...</a><br /></td></tr>
<tr class="separator:a9af118a9bace50fc7a94224578757a32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcef8966bcacea28d9ad6e554bd92a4f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#adcef8966bcacea28d9ad6e554bd92a4f">Interval</a> (int index) const</td></tr>
<tr class="memdesc:adcef8966bcacea28d9ad6e554bd92a4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index_th interval of the sequence. <a href="#adcef8966bcacea28d9ad6e554bd92a4f">More...</a><br /></td></tr>
<tr class="separator:adcef8966bcacea28d9ad6e554bd92a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6327825d9ed07ea7e97ac731e4d6ff8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#ae6327825d9ed07ea7e97ac731e4d6ff8">Next</a> (int index) const</td></tr>
<tr class="memdesc:ae6327825d9ed07ea7e97ac731e4d6ff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the next of the index_th interval of the sequence. <a href="#ae6327825d9ed07ea7e97ac731e4d6ff8">More...</a><br /></td></tr>
<tr class="separator:ae6327825d9ed07ea7e97ac731e4d6ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80930826abef932c86f9f751daa04ab2"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a80930826abef932c86f9f751daa04ab2">size</a> () const</td></tr>
<tr class="memdesc:a80930826abef932c86f9f751daa04ab2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of interval vars in the sequence. <a href="#a80930826abef932c86f9f751daa04ab2">More...</a><br /></td></tr>
<tr class="separator:a80930826abef932c86f9f751daa04ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7004fb329da93aea538284d1213d0cc3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1SequenceVar.html#a7004fb329da93aea538284d1213d0cc3">Accept</a> (<a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const visitor) const</td></tr>
<tr class="memdesc:a7004fb329da93aea538284d1213d0cc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accepts the given visitor. <a href="#a7004fb329da93aea538284d1213d0cc3">More...</a><br /></td></tr>
<tr class="separator:a7004fb329da93aea538284d1213d0cc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3aa61657c74294f198a16d1dbc52580"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ab3aa61657c74294f198a16d1dbc52580">solver</a> () const</td></tr>
<tr class="separator:ab3aa61657c74294f198a16d1dbc52580"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b16596f589dd63573a1586f61c2dbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a78b16596f589dd63573a1586f61c2dbd">FreezeQueue</a> ()</td></tr>
<tr class="memdesc:a78b16596f589dd63573a1586f61c2dbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method freezes the propagation queue. <a href="#a78b16596f589dd63573a1586f61c2dbd">More...</a><br /></td></tr>
<tr class="separator:a78b16596f589dd63573a1586f61c2dbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97782b79fbcf8043201fefaa7729dcf1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a97782b79fbcf8043201fefaa7729dcf1">UnfreezeQueue</a> ()</td></tr>
<tr class="memdesc:a97782b79fbcf8043201fefaa7729dcf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method unfreezes the propagation queue. <a href="#a97782b79fbcf8043201fefaa7729dcf1">More...</a><br /></td></tr>
<tr class="separator:a97782b79fbcf8043201fefaa7729dcf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd87cd906d80738f8727fda04bc5ace"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5dd87cd906d80738f8727fda04bc5ace">EnqueueDelayedDemon</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
<tr class="memdesc:a5dd87cd906d80738f8727fda04bc5ace"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method pushes the demon onto the propagation queue. <a href="#a5dd87cd906d80738f8727fda04bc5ace">More...</a><br /></td></tr>
<tr class="separator:a5dd87cd906d80738f8727fda04bc5ace"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fe6115081d583d57b6cd8b0dd1783d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a3fe6115081d583d57b6cd8b0dd1783d7">EnqueueVar</a> (<a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const d)</td></tr>
<tr class="separator:a3fe6115081d583d57b6cd8b0dd1783d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7285479f5e0fa7663c043cdfc7dd61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a4a7285479f5e0fa7663c043cdfc7dd61">ExecuteAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;demons)</td></tr>
<tr class="separator:a4a7285479f5e0fa7663c043cdfc7dd61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5975e144479d99ceae4f009472ca5e92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5975e144479d99ceae4f009472ca5e92">EnqueueAll</a> (const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;demons)</td></tr>
<tr class="separator:a5975e144479d99ceae4f009472ca5e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6bf90bb0b099a2c8f81aaefdfdd46c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5c6bf90bb0b099a2c8f81aaefdfdd46c">set_action_on_fail</a> (<a class="el" href="classoperations__research_1_1Solver.html#a87ca0b6abf9c8724900387f5aa557c04">Solver::Action</a> a)</td></tr>
<tr class="separator:a5c6bf90bb0b099a2c8f81aaefdfdd46c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07aa613bcc8d3896dff3f33520b061c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ad07aa613bcc8d3896dff3f33520b061c">reset_action_on_fail</a> ()</td></tr>
<tr class="memdesc:ad07aa613bcc8d3896dff3f33520b061c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method clears the failure callback. <a href="#ad07aa613bcc8d3896dff3f33520b061c">More...</a><br /></td></tr>
<tr class="separator:ad07aa613bcc8d3896dff3f33520b061c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d2ccb8a806df14394b3271791c81e61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a4d2ccb8a806df14394b3271791c81e61">set_variable_to_clean_on_fail</a> (<a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *v)</td></tr>
<tr class="memdesc:a4d2ccb8a806df14394b3271791c81e61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shortcut for variable cleaner. <a href="#a4d2ccb8a806df14394b3271791c81e61">More...</a><br /></td></tr>
<tr class="separator:a4d2ccb8a806df14394b3271791c81e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8be8b75223b76744791e48747677cdb6"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a8be8b75223b76744791e48747677cdb6">name</a> () const</td></tr>
<tr class="memdesc:a8be8b75223b76744791e48747677cdb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Object naming. <a href="#a8be8b75223b76744791e48747677cdb6">More...</a><br /></td></tr>
<tr class="separator:a8be8b75223b76744791e48747677cdb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d4a4cf402b353ba2908836656cf0c62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a5d4a4cf402b353ba2908836656cf0c62">set_name</a> (const std::string &amp;<a class="el" href="classoperations__research_1_1PropagationBaseObject.html#a8be8b75223b76744791e48747677cdb6">name</a>)</td></tr>
<tr class="separator:a5d4a4cf402b353ba2908836656cf0c62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6e627822f954d6072125c1d152c30f8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#af6e627822f954d6072125c1d152c30f8">HasName</a> () const</td></tr>
<tr class="memdesc:af6e627822f954d6072125c1d152c30f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the object has been named or not. <a href="#af6e627822f954d6072125c1d152c30f8">More...</a><br /></td></tr>
<tr class="separator:af6e627822f954d6072125c1d152c30f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab34671f68433c582260a443f3d15bfae"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ab34671f68433c582260a443f3d15bfae">BaseName</a> () const</td></tr>
<tr class="memdesc:ab34671f68433c582260a443f3d15bfae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a base name for automatic naming. <a href="#ab34671f68433c582260a443f3d15bfae">More...</a><br /></td></tr>
<tr class="separator:ab34671f68433c582260a443f3d15bfae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5cd7df5031e4b9e89532c03f542078aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cd7df5031e4b9e89532c03f542078aa">&#9670;&nbsp;</a></span>SequenceVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::SequenceVar::SequenceVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a> *const&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>intervals</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>nexts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a280b3b63fee8247cc2b89a5ec877497b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a280b3b63fee8247cc2b89a5ec877497b">&#9670;&nbsp;</a></span>~SequenceVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::SequenceVar::~SequenceVar </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a7004fb329da93aea538284d1213d0cc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7004fb329da93aea538284d1213d0cc3">&#9670;&nbsp;</a></span>Accept()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void operations_research::SequenceVar::Accept </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1ModelVisitor.html">ModelVisitor</a> *const&#160;</td>
<td class="paramname"><em>visitor</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Accepts the given visitor. </p>
</div>
</div>
<a id="a281b19bdc37eed61de45be3ad8745550"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a281b19bdc37eed61de45be3ad8745550">&#9670;&nbsp;</a></span>ActiveHorizonRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::ActiveHorizonRange </td>
<td>(</td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>hmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>hmax</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the minimum start min and the maximum end max of all unranked interval vars in the sequence. </p>
</div>
</div>
<a id="ab34671f68433c582260a443f3d15bfae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab34671f68433c582260a443f3d15bfae">&#9670;&nbsp;</a></span>BaseName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string operations_research::PropagationBaseObject::BaseName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a base name for automatic naming. </p>
<p>Reimplemented in <a class="el" href="classoperations__research_1_1BooleanVar.html#af9f1ddd2359a6d10c4003822bfc81289">operations_research::BooleanVar</a>.</p>
</div>
</div>
<a id="ac8f9d8f2220c77dd4f79a652e6aa7b88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8f9d8f2220c77dd4f79a652e6aa7b88">&#9670;&nbsp;</a></span>ComputePossibleFirstsAndLasts()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::ComputePossibleFirstsAndLasts </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; *const&#160;</td>
<td class="paramname"><em>possible_firsts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *const&#160;</td>
<td class="paramname"><em>possible_lasts</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the set of indices of interval variables that can be ranked first in the set of unranked activities. </p>
</div>
</div>
<a id="aad89b1d091262e23caf515cae51ba10c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad89b1d091262e23caf515cae51ba10c">&#9670;&nbsp;</a></span>ComputeStatistics()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::ComputeStatistics </td>
<td>(</td>
<td class="paramtype">int *const&#160;</td>
<td class="paramname"><em>ranked</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *const&#160;</td>
<td class="paramname"><em>not_ranked</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *const&#160;</td>
<td class="paramname"><em>unperformed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute statistics on the sequence. </p>
</div>
</div>
<a id="af92814129c466409ff4c004002c2034d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af92814129c466409ff4c004002c2034d">&#9670;&nbsp;</a></span>DebugString()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string operations_research::SequenceVar::DebugString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classoperations__research_1_1PropagationBaseObject.html#ae5b6f8cb73c1b76da152ad612f91c4ce">operations_research::PropagationBaseObject</a>.</p>
</div>
</div>
<a id="a12e4526c316b3d49b8cd8cb91a037118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12e4526c316b3d49b8cd8cb91a037118">&#9670;&nbsp;</a></span>DurationRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::DurationRange </td>
<td>(</td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>dmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>dmax</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the minimum and maximum duration of combined interval vars in the sequence. </p>
</div>
</div>
<a id="a5975e144479d99ceae4f009472ca5e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5975e144479d99ceae4f009472ca5e92">&#9670;&nbsp;</a></span>EnqueueAll()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::EnqueueAll </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demons</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5dd87cd906d80738f8727fda04bc5ace"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dd87cd906d80738f8727fda04bc5ace">&#9670;&nbsp;</a></span>EnqueueDelayedDemon()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::EnqueueDelayedDemon </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method pushes the demon onto the propagation queue. </p>
<p>It will be processed directly if the queue is empty. It will be enqueued according to its priority otherwise. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03129">3129</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a3fe6115081d583d57b6cd8b0dd1783d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fe6115081d583d57b6cd8b0dd1783d7">&#9670;&nbsp;</a></span>EnqueueVar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::EnqueueVar </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Demon.html">Demon</a> *const&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03130">3130</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a4a7285479f5e0fa7663c043cdfc7dd61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a7285479f5e0fa7663c043cdfc7dd61">&#9670;&nbsp;</a></span>ExecuteAll()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::ExecuteAll </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classoperations__research_1_1SimpleRevFIFO.html">SimpleRevFIFO</a>&lt; <a class="el" href="classoperations__research_1_1Demon.html">Demon</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>demons</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9af118a9bace50fc7a94224578757a32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9af118a9bace50fc7a94224578757a32">&#9670;&nbsp;</a></span>FillSequence()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::FillSequence </td>
<td>(</td>
<td class="paramtype">std::vector&lt; int &gt; *const&#160;</td>
<td class="paramname"><em>rank_first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *const&#160;</td>
<td class="paramname"><em>rank_last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; int &gt; *const&#160;</td>
<td class="paramname"><em>unperformed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Clears 'rank_first' and 'rank_last', and fills them with the intervals in the order of the ranks. </p>
<p>If all variables are ranked, 'rank_first' will contain all variables, and 'rank_last' will contain none. 'unperformed' will contains all such interval variables. rank_first and rank_last represents different directions. rank_first[0] corresponds to the first interval of the sequence. rank_last[0] corresponds to the last interval of the sequence. </p>
</div>
</div>
<a id="a78b16596f589dd63573a1586f61c2dbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78b16596f589dd63573a1586f61c2dbd">&#9670;&nbsp;</a></span>FreezeQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::FreezeQueue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method freezes the propagation queue. </p>
<p>It is useful when you need to apply multiple modifications at once. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03120">3120</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="af6e627822f954d6072125c1d152c30f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6e627822f954d6072125c1d152c30f8">&#9670;&nbsp;</a></span>HasName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool operations_research::PropagationBaseObject::HasName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether the object has been named or not. </p>
</div>
</div>
<a id="a55eba26b207c5fda44e8b94baa6d9d26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55eba26b207c5fda44e8b94baa6d9d26">&#9670;&nbsp;</a></span>HorizonRange()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::HorizonRange </td>
<td>(</td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>hmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *const&#160;</td>
<td class="paramname"><em>hmax</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the minimum start min and the maximum end max of all interval vars in the sequence. </p>
</div>
</div>
<a id="adcef8966bcacea28d9ad6e554bd92a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcef8966bcacea28d9ad6e554bd92a4f">&#9670;&nbsp;</a></span>Interval()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntervalVar.html">IntervalVar</a>* operations_research::SequenceVar::Interval </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index_th interval of the sequence. </p>
</div>
</div>
<a id="a8be8b75223b76744791e48747677cdb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8be8b75223b76744791e48747677cdb6">&#9670;&nbsp;</a></span>name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::string operations_research::PropagationBaseObject::name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Object naming. </p>
</div>
</div>
<a id="ae6327825d9ed07ea7e97ac731e4d6ff8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6327825d9ed07ea7e97ac731e4d6ff8">&#9670;&nbsp;</a></span>Next()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a>* operations_research::SequenceVar::Next </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the next of the index_th interval of the sequence. </p>
</div>
</div>
<a id="ae44ab42e06f43ced3bd04b251965b73f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae44ab42e06f43ced3bd04b251965b73f">&#9670;&nbsp;</a></span>RankFirst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::RankFirst </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ranks the index_th interval var first of all unranked interval vars. </p>
<p>After that, it will no longer be considered ranked. </p>
</div>
</div>
<a id="aa0e28d22da71b3976d56f59a14e08854"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0e28d22da71b3976d56f59a14e08854">&#9670;&nbsp;</a></span>RankLast()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::RankLast </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ranks the index_th interval var first of all unranked interval vars. </p>
<p>After that, it will no longer be considered ranked. </p>
</div>
</div>
<a id="a245d9693519203fc1a9d406684829812"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a245d9693519203fc1a9d406684829812">&#9670;&nbsp;</a></span>RankNotFirst()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::RankNotFirst </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars. </p>
</div>
</div>
<a id="a4e4a8cbd11cbf363fe073dca6e757b37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e4a8cbd11cbf363fe073dca6e757b37">&#9670;&nbsp;</a></span>RankNotLast()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::RankNotLast </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Indicates that the index_th interval var will not be ranked first of all currently unranked interval vars. </p>
</div>
</div>
<a id="a6993f8721564fc5be685998aa3e4ed47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6993f8721564fc5be685998aa3e4ed47">&#9670;&nbsp;</a></span>RankSequence()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void operations_research::SequenceVar::RankSequence </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>rank_first</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>rank_last</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;&#160;</td>
<td class="paramname"><em>unperformed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Applies the following sequence of ranks, ranks first, then rank last. </p>
<p>rank_first and rank_last represents different directions. rank_first[0] corresponds to the first interval of the sequence. rank_last[0] corresponds to the last interval of the sequence. All intervals in the unperformed vector will be marked as such. </p>
</div>
</div>
<a id="ad07aa613bcc8d3896dff3f33520b061c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad07aa613bcc8d3896dff3f33520b061c">&#9670;&nbsp;</a></span>reset_action_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::reset_action_on_fail </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method clears the failure callback. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03143">3143</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a5c6bf90bb0b099a2c8f81aaefdfdd46c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c6bf90bb0b099a2c8f81aaefdfdd46c">&#9670;&nbsp;</a></span>set_action_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::set_action_on_fail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1Solver.html#a87ca0b6abf9c8724900387f5aa557c04">Solver::Action</a>&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03137">3137</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a5d4a4cf402b353ba2908836656cf0c62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d4a4cf402b353ba2908836656cf0c62">&#9670;&nbsp;</a></span>set_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::set_name </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4d2ccb8a806df14394b3271791c81e61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d2ccb8a806df14394b3271791c81e61">&#9670;&nbsp;</a></span>set_variable_to_clean_on_fail()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::set_variable_to_clean_on_fail </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1IntVar.html">IntVar</a> *&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shortcut for variable cleaner. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03146">3146</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a80930826abef932c86f9f751daa04ab2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80930826abef932c86f9f751daa04ab2">&#9670;&nbsp;</a></span>size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int64 operations_research::SequenceVar::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of interval vars in the sequence. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l04520">4520</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="ab3aa61657c74294f198a16d1dbc52580"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3aa61657c74294f198a16d1dbc52580">&#9670;&nbsp;</a></span>solver()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classoperations__research_1_1Solver.html">Solver</a>* operations_research::PropagationBaseObject::solver </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03116">3116</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<a id="a97782b79fbcf8043201fefaa7729dcf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97782b79fbcf8043201fefaa7729dcf1">&#9670;&nbsp;</a></span>UnfreezeQueue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void operations_research::PropagationBaseObject::UnfreezeQueue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method unfreezes the propagation queue. </p>
<p>All modifications that happened when the queue was frozen will be processed. </p>
<p class="definition">Definition at line <a class="el" href="constraint__solver_8h_source.html#l03124">3124</a> of file <a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="constraint__solver_8h_source.html">constraint_solver.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>