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

596 lines
32 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_1RoutingIndexManager.html','');});
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classoperations__research_1_1RoutingIndexManager-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">operations_research::RoutingIndexManager 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>Manager for any NodeIndex &lt;-&gt; variable index conversion. </p>
<p>The routing solver uses variable indices internally and through its API. These variable indices are tricky to manage directly because one Node can correspond to a multitude of variables, depending on the number of times they appear in the model, and if they're used as start and/or end points. This class aims to simplify variable index usage, allowing users to use NodeIndex instead.</p>
<p>Usage: </p><div class="fragment"><div class="line"><span class="keyword">auto</span> starts_ends = ...; </div><div class="line"><a class="code" href="classoperations__research_1_1RoutingIndexManager.html#a7e8c8961302fc7f090b47a9e033fbcc8">RoutingIndexManager</a> manager(10, 4, starts_ends); <span class="comment">// 10 nodes, 4 vehicles.</span></div><div class="line">RoutingModel model(manager);</div></div><!-- fragment --><p>Then, use 'manager.NodeToIndex(node)' whenever model requires a variable index. </p>
<p class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00042">42</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a31feb605a82521fcdb67d19c4f962f5c"><td class="memItemLeft" align="right" valign="top">typedef RoutingNodeIndex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a></td></tr>
<tr class="separator:a31feb605a82521fcdb67d19c4f962f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a7e8c8961302fc7f090b47a9e033fbcc8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a7e8c8961302fc7f090b47a9e033fbcc8">RoutingIndexManager</a> (int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa39ba437f2fe2c07c43721cbfb2a6f0d">num_nodes</a>, int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa99aa264a338e0273b3ad8c55813ff95">num_vehicles</a>, <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> depot)</td></tr>
<tr class="memdesc:a7e8c8961302fc7f090b47a9e033fbcc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a NodeIndex to variable index mapping for a problem containing 'num_nodes', 'num_vehicles' and the given starts and ends for each vehicle. <a href="#a7e8c8961302fc7f090b47a9e033fbcc8">More...</a><br /></td></tr>
<tr class="separator:a7e8c8961302fc7f090b47a9e033fbcc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6807748d881051e31a0e3eb159e040d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#ac6807748d881051e31a0e3eb159e040d">RoutingIndexManager</a> (int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa39ba437f2fe2c07c43721cbfb2a6f0d">num_nodes</a>, int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa99aa264a338e0273b3ad8c55813ff95">num_vehicles</a>, const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;starts, const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;ends)</td></tr>
<tr class="separator:ac6807748d881051e31a0e3eb159e040d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82d6a798a50025f837067d76138c0c24"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a82d6a798a50025f837067d76138c0c24">RoutingIndexManager</a> (int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa39ba437f2fe2c07c43721cbfb2a6f0d">num_nodes</a>, int <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa99aa264a338e0273b3ad8c55813ff95">num_vehicles</a>, const std::vector&lt; std::pair&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>, <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &gt; &amp;starts_ends)</td></tr>
<tr class="separator:a82d6a798a50025f837067d76138c0c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab562f3b60e709b0b24b3e46981888f22"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#ab562f3b60e709b0b24b3e46981888f22">~RoutingIndexManager</a> ()</td></tr>
<tr class="separator:ab562f3b60e709b0b24b3e46981888f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39ba437f2fe2c07c43721cbfb2a6f0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa39ba437f2fe2c07c43721cbfb2a6f0d">num_nodes</a> () const</td></tr>
<tr class="separator:aa39ba437f2fe2c07c43721cbfb2a6f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa99aa264a338e0273b3ad8c55813ff95"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#aa99aa264a338e0273b3ad8c55813ff95">num_vehicles</a> () const</td></tr>
<tr class="separator:aa99aa264a338e0273b3ad8c55813ff95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29739c908b5719c47582a640d7f250f8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a29739c908b5719c47582a640d7f250f8">num_indices</a> () const</td></tr>
<tr class="separator:a29739c908b5719c47582a640d7f250f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43b46864861a1796f1d3b254094a7402"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a43b46864861a1796f1d3b254094a7402">GetStartIndex</a> (int vehicle) const</td></tr>
<tr class="separator:a43b46864861a1796f1d3b254094a7402"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c8bf3d701466adf783114b05c12aa6"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a84c8bf3d701466adf783114b05c12aa6">GetEndIndex</a> (int vehicle) const</td></tr>
<tr class="separator:a84c8bf3d701466adf783114b05c12aa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a51bf2b84f28075c50aca511c910053"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a3a51bf2b84f28075c50aca511c910053">NodeToIndex</a> (<a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> node) const</td></tr>
<tr class="separator:a3a51bf2b84f28075c50aca511c910053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f4bf04c9419fb97c29b98438f00ef2a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a1f4bf04c9419fb97c29b98438f00ef2a">NodesToIndices</a> (const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;nodes) const</td></tr>
<tr class="separator:a1f4bf04c9419fb97c29b98438f00ef2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e0e70a85074c1e9d2286e2bcaa229e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a28e0e70a85074c1e9d2286e2bcaa229e">IndexToNode</a> (int64 index) const</td></tr>
<tr class="separator:a28e0e70a85074c1e9d2286e2bcaa229e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148a071cb5a92fe73501c7c299ed5eb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a148a071cb5a92fe73501c7c299ed5eb1">num_unique_depots</a> () const</td></tr>
<tr class="memdesc:a148a071cb5a92fe73501c7c299ed5eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">complete. <a href="#a148a071cb5a92fe73501c7c299ed5eb1">More...</a><br /></td></tr>
<tr class="separator:a148a071cb5a92fe73501c7c299ed5eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b0e55ac5b352520c29311973023ac82"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a7b0e55ac5b352520c29311973023ac82">GetIndexToNodeMap</a> () const</td></tr>
<tr class="separator:a7b0e55ac5b352520c29311973023ac82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8ca31394b4a07aa8acbb73881bb460"><td class="memItemLeft" align="right" valign="top">gtl::ITIVector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>, int64 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a4e8ca31394b4a07aa8acbb73881bb460">GetNodeToIndexMap</a> () const</td></tr>
<tr class="separator:a4e8ca31394b4a07aa8acbb73881bb460"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a2d397cd2af41ff1e0dd035c3ea1e65e5"><td class="memItemLeft" align="right" valign="top">static const int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a2d397cd2af41ff1e0dd035c3ea1e65e5">kUnassigned</a></td></tr>
<tr class="separator:a2d397cd2af41ff1e0dd035c3ea1e65e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a31feb605a82521fcdb67d19c4f962f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31feb605a82521fcdb67d19c4f962f5c">&#9670;&nbsp;</a></span>NodeIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef RoutingNodeIndex <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">operations_research::RoutingIndexManager::NodeIndex</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00044">44</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a7e8c8961302fc7f090b47a9e033fbcc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e8c8961302fc7f090b47a9e033fbcc8">&#9670;&nbsp;</a></span>RoutingIndexManager() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::RoutingIndexManager::RoutingIndexManager </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_vehicles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>&#160;</td>
<td class="paramname"><em>depot</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a NodeIndex to variable index mapping for a problem containing 'num_nodes', 'num_vehicles' and the given starts and ends for each vehicle. </p>
<p>If used, any start/end arrays have to have exactly 'num_vehicles' elements. </p>
</div>
</div>
<a id="ac6807748d881051e31a0e3eb159e040d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6807748d881051e31a0e3eb159e040d">&#9670;&nbsp;</a></span>RoutingIndexManager() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::RoutingIndexManager::RoutingIndexManager </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_vehicles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>starts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>ends</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a82d6a798a50025f837067d76138c0c24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82d6a798a50025f837067d76138c0c24">&#9670;&nbsp;</a></span>RoutingIndexManager() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">operations_research::RoutingIndexManager::RoutingIndexManager </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_nodes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>num_vehicles</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; std::pair&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>, <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>starts_ends</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab562f3b60e709b0b24b3e46981888f22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab562f3b60e709b0b24b3e46981888f22">&#9670;&nbsp;</a></span>~RoutingIndexManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">operations_research::RoutingIndexManager::~RoutingIndexManager </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> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00058">58</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a84c8bf3d701466adf783114b05c12aa6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84c8bf3d701466adf783114b05c12aa6">&#9670;&nbsp;</a></span>GetEndIndex()</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::RoutingIndexManager::GetEndIndex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em></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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00064">64</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a7b0e55ac5b352520c29311973023ac82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b0e55ac5b352520c29311973023ac82">&#9670;&nbsp;</a></span>GetIndexToNodeMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>&gt; operations_research::RoutingIndexManager::GetIndexToNodeMap </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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00079">79</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a4e8ca31394b4a07aa8acbb73881bb460"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e8ca31394b4a07aa8acbb73881bb460">&#9670;&nbsp;</a></span>GetNodeToIndexMap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">gtl::ITIVector&lt;<a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>, int64&gt; operations_research::RoutingIndexManager::GetNodeToIndexMap </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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00080">80</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a43b46864861a1796f1d3b254094a7402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43b46864861a1796f1d3b254094a7402">&#9670;&nbsp;</a></span>GetStartIndex()</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::RoutingIndexManager::GetStartIndex </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>vehicle</em></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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00063">63</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a28e0e70a85074c1e9d2286e2bcaa229e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28e0e70a85074c1e9d2286e2bcaa229e">&#9670;&nbsp;</a></span>IndexToNode()</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_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> operations_research::RoutingIndexManager::IndexToNode </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>index</em></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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00071">71</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a1f4bf04c9419fb97c29b98438f00ef2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f4bf04c9419fb97c29b98438f00ef2a">&#9670;&nbsp;</a></span>NodesToIndices()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int64&gt; operations_research::RoutingIndexManager::NodesToIndices </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>nodes</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a3a51bf2b84f28075c50aca511c910053"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a51bf2b84f28075c50aca511c910053">&#9670;&nbsp;</a></span>NodeToIndex()</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::RoutingIndexManager::NodeToIndex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classoperations__research_1_1RoutingIndexManager.html#a31feb605a82521fcdb67d19c4f962f5c">NodeIndex</a>&#160;</td>
<td class="paramname"><em>node</em></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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00065">65</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a29739c908b5719c47582a640d7f250f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29739c908b5719c47582a640d7f250f8">&#9670;&nbsp;</a></span>num_indices()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int operations_research::RoutingIndexManager::num_indices </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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00062">62</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="aa39ba437f2fe2c07c43721cbfb2a6f0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa39ba437f2fe2c07c43721cbfb2a6f0d">&#9670;&nbsp;</a></span>num_nodes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int operations_research::RoutingIndexManager::num_nodes </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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00060">60</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="a148a071cb5a92fe73501c7c299ed5eb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a148a071cb5a92fe73501c7c299ed5eb1">&#9670;&nbsp;</a></span>num_unique_depots()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int operations_research::RoutingIndexManager::num_unique_depots </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>complete. </p>
<p class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00078">78</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<a id="aa99aa264a338e0273b3ad8c55813ff95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa99aa264a338e0273b3ad8c55813ff95">&#9670;&nbsp;</a></span>num_vehicles()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int operations_research::RoutingIndexManager::num_vehicles </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 class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00061">61</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2d397cd2af41ff1e0dd035c3ea1e65e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d397cd2af41ff1e0dd035c3ea1e65e5">&#9670;&nbsp;</a></span>kUnassigned</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int64 operations_research::RoutingIndexManager::kUnassigned</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="routing__index__manager_8h_source.html#l00045">45</a> of file <a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="routing__index__manager_8h_source.html">routing_index_manager.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</div>
<div id="footer-container">
<div id="footer">
</div>
</div>
</body>
</html>