2019-06-13 15:36:14 +02:00
<!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"/> -->
2019-06-20 23:08:48 +02:00
< link rel = "stylesheet" type = "text/css" href = "ortools.css" title = "default" media = "screen,print" / >
2019-06-13 15:36:14 +02:00
< 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" >
2019-06-29 18:18:08 +02:00
< span id = "sfml" > OR-Tools 7.2< / span >
2019-06-13 15:36:14 +02:00
< / div >
< / div >
2019-06-29 18:18:08 +02:00
< link rel = "icon" href = "https://developers.google.com/optimization/images/orLogo.png" >
2019-06-13 15:36:14 +02:00
< div id = "content" >
<!-- Generated by Doxygen 1.8.15 -->
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "pages.html" > < span > Related  Pages< / 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 >
2019-07-15 17:42:24 -07:00
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
2019-06-13 15:36:14 +02:00
< / ul >
< / div >
2019-07-12 13:25:23 -07:00
< / 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">
2019-06-13 15:36:14 +02:00
< / div >
< / div >
2019-07-12 13:25:23 -07:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classoperations__research_1_1SetRangeIterator.html','');});
/* @license-end */
< / script >
< div id = "doc-content" >
2019-06-13 15:36:14 +02:00
< div class = "header" >
< div class = "summary" >
< a href = "#pub-types" > Public Types< / a > |
< a href = "#pub-methods" > Public Member Functions< / a > |
< a href = "classoperations__research_1_1SetRangeIterator-members.html" > List of all members< / a > < / div >
< div class = "headertitle" >
< div class = "title" > operations_research::SetRangeIterator< SetRange > Class Template Reference< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
2019-07-12 13:25:23 -07:00
< a name = "details" id = "details" > < / a > < h2 class = "groupheader" > Detailed Description< / h2 >
< div class = "textblock" > < h3 > template< typename SetRange> < br / >
class operations_research::SetRangeIterator< SetRange > < / h3 >
2019-06-13 15:36:14 +02:00
2019-07-12 13:25:23 -07:00
< p > An iterator for sets of increasing corresponding values that have the same cardinality. < / p >
< p > For example, the sets with cardinality 3 will be listed as ...00111, ...01011, ...01101, ...1110, etc... < / p >
2019-06-13 15:36:14 +02:00
2019-07-12 13:25:23 -07:00
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00223" > 223< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div > < table class = "memberdecls" >
2019-06-13 15:36:14 +02:00
< tr class = "heading" > < td colspan = "2" > < h2 class = "groupheader" > < a name = "pub-types" > < / a >
Public Types< / h2 > < / td > < / tr >
< tr class = "memitem:ac33a8fa2bd3858cb38ac4aa7027b14f3" > < td class = "memItemLeft" align = "right" valign = "top" > typedef SetRange::SetType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a > < / td > < / tr >
< tr class = "memdesc:ac33a8fa2bd3858cb38ac4aa7027b14f3" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Make the parameter types visible to < a class = "el" href = "classoperations__research_1_1SetRangeWithCardinality.html" > SetRangeWithCardinality< / a > . < a href = "#ac33a8fa2bd3858cb38ac4aa7027b14f3" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:ac33a8fa2bd3858cb38ac4aa7027b14f3" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a8b736bbe536c9abc15d84d5fa462a506" > < td class = "memItemLeft" align = "right" valign = "top" > typedef SetType::IntegerType  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#a8b736bbe536c9abc15d84d5fa462a506" > IntegerType< / a > < / td > < / tr >
< tr class = "separator:a8b736bbe536c9abc15d84d5fa462a506" > < td class = "memSeparator" colspan = "2" >   < / 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:ab10604e513e69c2e69885026aa4419f6" > < td class = "memItemLeft" align = "right" valign = "top" >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ab10604e513e69c2e69885026aa4419f6" > SetRangeIterator< / a > (const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a > set)< / td > < / tr >
< tr class = "separator:ab10604e513e69c2e69885026aa4419f6" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a91417bb16ed420eba66eeb88cad385a9" > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a >   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#a91417bb16ed420eba66eeb88cad385a9" > operator *< / a > () const< / td > < / tr >
< tr class = "memdesc:a91417bb16ed420eba66eeb88cad385a9" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > STL iterator-related methods. < a href = "#a91417bb16ed420eba66eeb88cad385a9" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a91417bb16ed420eba66eeb88cad385a9" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:ae49d2a420e45ad8370e29906e66572ee" > < td class = "memItemLeft" align = "right" valign = "top" > bool  < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ae49d2a420e45ad8370e29906e66572ee" > operator!=< / a > (const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > SetRangeIterator< / a > & other) const< / td > < / tr >
< tr class = "separator:ae49d2a420e45ad8370e29906e66572ee" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< tr class = "memitem:a2b617b0eee1cb874ce18d0fbfbcb0857" > < td class = "memItemLeft" align = "right" valign = "top" > const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > SetRangeIterator< / a > &   < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#a2b617b0eee1cb874ce18d0fbfbcb0857" > operator++< / a > ()< / td > < / tr >
< tr class = "memdesc:a2b617b0eee1cb874ce18d0fbfbcb0857" > < td class = "mdescLeft" >   < / td > < td class = "mdescRight" > Computes the next set with the same cardinality using Gosper's hack. < a href = "#a2b617b0eee1cb874ce18d0fbfbcb0857" > More...< / a > < br / > < / td > < / tr >
< tr class = "separator:a2b617b0eee1cb874ce18d0fbfbcb0857" > < td class = "memSeparator" colspan = "2" >   < / td > < / tr >
< / table >
2019-07-12 13:25:23 -07:00
< h2 class = "groupheader" > Member Typedef Documentation< / h2 >
2019-06-13 15:36:14 +02:00
< a id = "a8b736bbe536c9abc15d84d5fa462a506" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a8b736bbe536c9abc15d84d5fa462a506" > ◆ < / a > < / span > IntegerType< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > typedef SetType::IntegerType < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::< a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#a8b736bbe536c9abc15d84d5fa462a506" > IntegerType< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00227" > 227< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< a id = "ac33a8fa2bd3858cb38ac4aa7027b14f3" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ac33a8fa2bd3858cb38ac4aa7027b14f3" > ◆ < / a > < / span > SetType< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "memname" >
< tr >
< td class = "memname" > typedef SetRange::SetType < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::< a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p > Make the parameter types visible to < a class = "el" href = "classoperations__research_1_1SetRangeWithCardinality.html" > SetRangeWithCardinality< / a > . < / p >
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00226" > 226< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< h2 class = "groupheader" > Constructor & Destructor Documentation< / h2 >
< a id = "ab10604e513e69c2e69885026aa4419f6" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ab10604e513e69c2e69885026aa4419f6" > ◆ < / a > < / span > SetRangeIterator()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::< a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > SetRangeIterator< / a > < / td >
< td > (< / td >
< td class = "paramtype" > const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a >   < / td >
< td class = "paramname" > < em > set< / em > < / td > < td > )< / td >
< td > < / td >
< / tr >
< / table >
< / td >
< td class = "mlabels-right" >
< span class = "mlabels" > < span class = "mlabel" > inline< / span > < span class = "mlabel" > explicit< / span > < / span > < / td >
< / tr >
< / table >
< / div > < div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00229" > 229< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< h2 class = "groupheader" > Member Function Documentation< / h2 >
< a id = "a91417bb16ed420eba66eeb88cad385a9" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a91417bb16ed420eba66eeb88cad385a9" > ◆ < / a > < / span > operator *()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html#ac33a8fa2bd3858cb38ac4aa7027b14f3" > SetType< / a > < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::operator * < / 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 > STL iterator-related methods. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00232" > 232< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< a id = "ae49d2a420e45ad8370e29906e66572ee" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#ae49d2a420e45ad8370e29906e66572ee" > ◆ < / a > < / span > operator!=()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > bool < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::operator!= < / td >
< td > (< / td >
< td class = "paramtype" > const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > SetRangeIterator< / a > < SetRange > &   < / td >
< td class = "paramname" > < em > other< / 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 = "hamiltonian__path_8h_source.html#l00233" > 233< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< a id = "a2b617b0eee1cb874ce18d0fbfbcb0857" > < / a >
< h2 class = "memtitle" > < span class = "permalink" > < a href = "#a2b617b0eee1cb874ce18d0fbfbcb0857" > ◆ < / a > < / span > operator++()< / h2 >
< div class = "memitem" >
< div class = "memproto" >
< div class = "memtemplate" >
template< typename SetRange > < / div >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > const < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > SetRangeIterator< / a > & < a class = "el" href = "classoperations__research_1_1SetRangeIterator.html" > operations_research::SetRangeIterator< / a > < SetRange > ::operator++ < / 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 > Computes the next set with the same cardinality using Gosper's hack. < / p >
< p > < a href = "ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-239.pdf" > ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-239.pdf< / a > ITEM 175 Also translated in C < a href = "https://www.cl.cam.ac.uk/~am21/hakmemc.html" > https://www.cl.cam.ac.uk/~am21/hakmemc.html< / a > < / p >
< p > Dividing by c as in HAKMEMC can be avoided by taking into account that c is the smallest singleton of current_set_, and using a shift. < / p >
< p class = "definition" > Definition at line < a class = "el" href = "hamiltonian__path_8h_source.html#l00240" > 240< / a > of file < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > .< / p >
< / div >
< / div >
< hr / > The documentation for this class was generated from the following file:< ul >
< li > < a class = "el" href = "hamiltonian__path_8h_source.html" > hamiltonian_path.h< / a > < / li >
< / ul >
< / div > <!-- contents -->
2019-07-12 13:25:23 -07:00
< / div > <!-- doc - content -->
2019-06-13 15:36:14 +02:00
< / div >
< div id = "footer-container" >
< div id = "footer" >
< / div >
< / div >
< / body >
< / html >