<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libzypp: zypp/base/SetTracker.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libzypp  <span id="projectnumber">17.9.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.15 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></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&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('SetTracker_8h_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">SetTracker.h</div> </div> </div><!--header--> <div class="contents"> <a href="SetTracker_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*---------------------------------------------------------------------\</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">| ____ _ __ __ ___ |</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">| |__ / \ / / . \ . \ |</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">| / / \ V /| _/ _/ |</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">| / /__ | | | | | | |</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">| /_____||_| |_| |_| |</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">| |</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">\---------------------------------------------------------------------*/</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#ifndef ZYPP_BASE_SETTRACKER_H</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#define ZYPP_BASE_SETTRACKER_H</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <iosfwd></span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <utility></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <algorithm></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keyword">namespace </span>base</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span> <<span class="keyword">class</span> TSet></div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html"> 37</a></span>  <span class="keyword">struct </span><a class="code" href="structzypp_1_1base_1_1SetTracker.html">SetTracker</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422"> 39</a></span>  <span class="keyword">typedef</span> TSet <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23"> 40</a></span>  <span class="keyword">typedef</span> <span class="keyword">typename</span> TSet::key_type <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">key_type</a>;</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a3725475a80a6ee0a5ebcbe0c063299fe"> 41</a></span>  <span class="keyword">typedef</span> <span class="keyword">typename</span> TSet::value_type <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a3725475a80a6ee0a5ebcbe0c063299fe">value_type</a>;</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#ab4df698a548cf902c848175787e22c9c"> 44</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#ab4df698a548cf902c848175787e22c9c">SetTracker</a>()</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  {}</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a611f26178a1d634320590e5092e62983"> 48</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a611f26178a1d634320590e5092e62983">SetTracker</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> initial_r )</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  : <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>( <a class="code" href="namespacestd.html">std</a>::move(initial_r) )</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {}</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#acbc1a5b46008d69bf2a25f956e10a7e9"> 57</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#acbc1a5b46008d69bf2a25f956e10a7e9">setInitial</a>()</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  { <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>.clear(); <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>.clear(); <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a161cfc9976540d67388c662b89783da9"> 63</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a161cfc9976540d67388c662b89783da9">setInitial</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> new_r )</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#acbc1a5b46008d69bf2a25f956e10a7e9">setInitial</a>();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">bool</span> changed = ( new_r != <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a> );</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> ( changed )</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a> = std::move(new_r);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a76c0330d1363194ca84ba0695e1f64a0"> 78</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76c0330d1363194ca84ba0695e1f64a0">set</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> new_r )</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordtype">bool</span> changed = ( new_r != <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a> );</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> ( changed )</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// build the initial (cur-add+rem) set in _current</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719">setDifference</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>, <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>, <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a> );</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>.swap( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a> );</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>.clear();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>.clear();</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & initial( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a> );</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719">setDifference</a>( initial, new_r, <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a> );</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719">setDifference</a>( new_r, initial, <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a> );</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>.swap( new_r );</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> changed;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a7a3a9ec2295911fe0733ccd2eb45df20"> 100</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a7a3a9ec2295911fe0733ccd2eb45df20">add</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a3725475a80a6ee0a5ebcbe0c063299fe">value_type</a> & val_r )</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">bool</span> done = <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>.insert( val_r ).second;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span> ( done )</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> ( ! <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>.erase( val_r ) )</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>.insert( val_r );</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> done;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#aa64bc1470b630627e8d924600b2aed71"> 114</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aa64bc1470b630627e8d924600b2aed71">remove</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a3725475a80a6ee0a5ebcbe0c063299fe">value_type</a> & val_r )</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordtype">bool</span> done = <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>.erase( val_r );</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">if</span> ( done )</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span> ( ! <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>.erase( val_r ) )</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>.insert( val_r );</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> done;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#ae99ae5f08f2020fd80d22d8b789fcddb"> 129</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#ae99ae5f08f2020fd80d22d8b789fcddb">contains</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">key_type</a> & key_r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85">find</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>, key_r ); }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a923c4cb05e4b884e39a9410e4bd6c4af"> 132</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a923c4cb05e4b884e39a9410e4bd6c4af">wasAdded</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">key_type</a> & key_r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85">find</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>, key_r ); }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a126a97417adb99be52ce165149bd6809"> 135</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a126a97417adb99be52ce165149bd6809">wasRemoved</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">key_type</a> & key_r )<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85">find</a>( <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>, key_r ); }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#addd2dab69be7f9bb4698f7f05d66e1b3"> 139</a></span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addd2dab69be7f9bb4698f7f05d66e1b3">current</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>; }</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#ab0911e3739d88b4e0631b154a51bf000"> 142</a></span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#ab0911e3739d88b4e0631b154a51bf000">added</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a66a88ee8b51d331eadc189d0157c28e4"> 145</a></span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a66a88ee8b51d331eadc189d0157c28e4">removed</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#aa715633c0fd461f85714678653433aa7"> 151</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aa715633c0fd461f85714678653433aa7">current</a>() { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>; }</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a64345fd5e42cf70d6d4a72fce9723f5e"> 154</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a64345fd5e42cf70d6d4a72fce9723f5e">added</a>() { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>; }</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a1e469d1579d7738175cda383cfe1f657"> 157</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a1e469d1579d7738175cda383cfe1f657">removed</a>() { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85"> 162</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85">find</a>( <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> & set_r, <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">key_type</a> & key_r )</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  { <span class="keywordflow">return</span> set_r.find( key_r ) != set_r.end(); }</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">template</span> <<span class="keyword">class</span> TORDERED_SET, <span class="keyword">typename</span> enable_if = <span class="keyword">typename</span> TORDERED_SET::key_compare></div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719"> 166</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719">setDifference</a>( <span class="keyword">const</span> TORDERED_SET & lhs, <span class="keyword">const</span> TORDERED_SET & rhs, TORDERED_SET & result_r )</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">// std::set_difference requires ordered sets!</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  std::set_difference( lhs.begin(), lhs.end(), rhs.begin(), rhs.end(),</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  std::inserter( result_r, result_r.end() ),</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">typename</span> TORDERED_SET::key_compare() );</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">template</span> <<span class="keyword">class</span> TUNORDERED_SET, <span class="keyword">typename</span> enable_if = <span class="keyword">typename</span> TUNORDERED_SET::hasher, <span class="keyword">typename</span> = <span class="keywordtype">void</span>></div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#ab02f75fac12ca0f17df19d316f2de68a"> 175</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#ab02f75fac12ca0f17df19d316f2de68a">setDifference</a>( <span class="keyword">const</span> TUNORDERED_SET & lhs, <span class="keyword">const</span> TUNORDERED_SET & rhs, TUNORDERED_SET & result_r )</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="comment">// std::set_difference requires ordered sets!</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">for</span> ( <span class="keyword">const</span> <span class="keyword">auto</span> & l : lhs )</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  { <span class="keywordflow">if</span> ( rhs.find( l ) == rhs.end() ) result_r.insert( l ); }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff"> 183</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">_current</a>;</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555"> 184</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">_added</a>;</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d"> 185</a></span>  <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">set_type</a> <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">_removed</a>;</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  };</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">template</span> <<span class="keyword">class</span> TSet></div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="structzypp_1_1base_1_1SetTracker.html#a0d134d4a8a3006ffb6bdf4840dac8dbc"> 190</a></span>  std::ostream & <a class="code" href="structzypp_1_1base_1_1SetTracker.html#a0d134d4a8a3006ffb6bdf4840dac8dbc">operator<<</a>( std::ostream & <a class="code" href="namespacestr.html">str</a>, <span class="keyword">const</span> <a class="code" href="structzypp_1_1base_1_1SetTracker.html">SetTracker<TSet></a> & obj )</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  { <span class="keywordflow">return</span> <a class="code" href="namespacestr.html">str</a> << <span class="stringliteral">"set("</span> << obj.<a class="code" href="structzypp_1_1base_1_1SetTracker.html#addd2dab69be7f9bb4698f7f05d66e1b3">current</a>().size() << <span class="stringliteral">"|+"</span> << obj.<a class="code" href="structzypp_1_1base_1_1SetTracker.html#ab0911e3739d88b4e0631b154a51bf000">added</a>().size() << <span class="stringliteral">"|-"</span> << obj.<a class="code" href="structzypp_1_1base_1_1SetTracker.html#a66a88ee8b51d331eadc189d0157c28e4">removed</a>().size() << <span class="charliteral">')'</span>; }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  } <span class="comment">// namespace base</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"></span>} <span class="comment">// namespace zypp</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"></span><span class="preprocessor">#endif // ZYPP_BASE_SETTRACKER_H</span></div><div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a358d490808e6607db1b41fbf30ec2a23"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a358d490808e6607db1b41fbf30ec2a23">zypp::base::SetTracker::key_type</a></div><div class="ttdeci">TSet::key_type key_type</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00040">SetTracker.h:40</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_ae99ae5f08f2020fd80d22d8b789fcddb"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#ae99ae5f08f2020fd80d22d8b789fcddb">zypp::base::SetTracker::contains</a></div><div class="ttdeci">bool contains(const key_type &key_r) const</div><div class="ttdoc">Whether val_r is in the set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00129">SetTracker.h:129</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a1e469d1579d7738175cda383cfe1f657"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a1e469d1579d7738175cda383cfe1f657">zypp::base::SetTracker::removed</a></div><div class="ttdeci">set_type & removed()</div><div class="ttdoc">Return the set of removed items.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00157">SetTracker.h:157</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html">zypp::base::SetTracker</a></div><div class="ttdoc">Track added/removed set items based on an initial set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00037">SetTracker.h:37</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a76c0330d1363194ca84ba0695e1f64a0"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a76c0330d1363194ca84ba0695e1f64a0">zypp::base::SetTracker::set</a></div><div class="ttdeci">bool set(set_type new_r)</div><div class="ttdoc">Set a new_r set and track changes.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00078">SetTracker.h:78</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_acbc1a5b46008d69bf2a25f956e10a7e9"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#acbc1a5b46008d69bf2a25f956e10a7e9">zypp::base::SetTracker::setInitial</a></div><div class="ttdeci">bool setInitial()</div><div class="ttdoc">(Re-)Start tracking the current set (discards previously tracked changes).</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00057">SetTracker.h:57</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a923c4cb05e4b884e39a9410e4bd6c4af"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a923c4cb05e4b884e39a9410e4bd6c4af">zypp::base::SetTracker::wasAdded</a></div><div class="ttdeci">bool wasAdded(const key_type &key_r) const</div><div class="ttdoc">Whether val_r is tracked as added.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00132">SetTracker.h:132</a></div></div> <div class="ttc" id="namespacestr_html"><div class="ttname"><a href="namespacestr.html">str</a></div><div class="ttdoc">String related utilities and Regular expression matching.</div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a8de5754174fb15ecda495ff6c396b422"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a8de5754174fb15ecda495ff6c396b422">zypp::base::SetTracker::set_type</a></div><div class="ttdeci">TSet set_type</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00039">SetTracker.h:39</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a161cfc9976540d67388c662b89783da9"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a161cfc9976540d67388c662b89783da9">zypp::base::SetTracker::setInitial</a></div><div class="ttdeci">bool setInitial(set_type new_r)</div><div class="ttdoc">Start tracking a new set (discards previously tracked changes).</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00063">SetTracker.h:63</a></div></div> <div class="ttc" id="namespacestd_html"><div class="ttname"><a href="namespacestd.html">std</a></div><div class="ttdef"><b>Definition:</b> <a href="Arch_8h_source.html#l00344">Arch.h:344</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a76e37b2089190a9e0a2f50c1e5adca0d"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a76e37b2089190a9e0a2f50c1e5adca0d">zypp::base::SetTracker::_removed</a></div><div class="ttdeci">set_type _removed</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00185">SetTracker.h:185</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a4e2606b3a22488e13c51e4d515bce719"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a4e2606b3a22488e13c51e4d515bce719">zypp::base::SetTracker::setDifference</a></div><div class="ttdeci">static void setDifference(const TORDERED_SET &lhs, const TORDERED_SET &rhs, TORDERED_SET &result_r)</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00166">SetTracker.h:166</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a64345fd5e42cf70d6d4a72fce9723f5e"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a64345fd5e42cf70d6d4a72fce9723f5e">zypp::base::SetTracker::added</a></div><div class="ttdeci">set_type & added()</div><div class="ttdoc">Return the set of added items.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00154">SetTracker.h:154</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a126a97417adb99be52ce165149bd6809"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a126a97417adb99be52ce165149bd6809">zypp::base::SetTracker::wasRemoved</a></div><div class="ttdeci">bool wasRemoved(const key_type &key_r) const</div><div class="ttdoc">Whether val_r is tracked as removed.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00135">SetTracker.h:135</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a66a88ee8b51d331eadc189d0157c28e4"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a66a88ee8b51d331eadc189d0157c28e4">zypp::base::SetTracker::removed</a></div><div class="ttdeci">const set_type & removed() const</div><div class="ttdoc">Return the set of removed items.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00145">SetTracker.h:145</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a611f26178a1d634320590e5092e62983"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a611f26178a1d634320590e5092e62983">zypp::base::SetTracker::SetTracker</a></div><div class="ttdeci">SetTracker(set_type initial_r)</div><div class="ttdoc">Ctor taking an initial set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00048">SetTracker.h:48</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_ab02f75fac12ca0f17df19d316f2de68a"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#ab02f75fac12ca0f17df19d316f2de68a">zypp::base::SetTracker::setDifference</a></div><div class="ttdeci">static void setDifference(const TUNORDERED_SET &lhs, const TUNORDERED_SET &rhs, TUNORDERED_SET &result_r)</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00175">SetTracker.h:175</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_addd2dab69be7f9bb4698f7f05d66e1b3"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#addd2dab69be7f9bb4698f7f05d66e1b3">zypp::base::SetTracker::current</a></div><div class="ttdeci">const set_type & current() const</div><div class="ttdoc">Return the current set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00139">SetTracker.h:139</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a7a3a9ec2295911fe0733ccd2eb45df20"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a7a3a9ec2295911fe0733ccd2eb45df20">zypp::base::SetTracker::add</a></div><div class="ttdeci">bool add(const value_type &val_r)</div><div class="ttdoc">Add an element to the set and track changes.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00100">SetTracker.h:100</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_ab0911e3739d88b4e0631b154a51bf000"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#ab0911e3739d88b4e0631b154a51bf000">zypp::base::SetTracker::added</a></div><div class="ttdeci">const set_type & added() const</div><div class="ttdoc">Return the set of added items.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00142">SetTracker.h:142</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_aadd44e4bc34f470a0d23486bd8f69555"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#aadd44e4bc34f470a0d23486bd8f69555">zypp::base::SetTracker::_added</a></div><div class="ttdeci">set_type _added</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00184">SetTracker.h:184</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a3725475a80a6ee0a5ebcbe0c063299fe"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a3725475a80a6ee0a5ebcbe0c063299fe">zypp::base::SetTracker::value_type</a></div><div class="ttdeci">TSet::value_type value_type</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00041">SetTracker.h:41</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a0d134d4a8a3006ffb6bdf4840dac8dbc"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a0d134d4a8a3006ffb6bdf4840dac8dbc">zypp::base::SetTracker::operator<<</a></div><div class="ttdeci">std::ostream & operator<<(std::ostream &str, const SetTracker< TSet > &obj)</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00190">SetTracker.h:190</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_a6102927d309e23bd7c14e9e8df6dac85"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#a6102927d309e23bd7c14e9e8df6dac85">zypp::base::SetTracker::find</a></div><div class="ttdeci">static bool find(const set_type &set_r, const key_type &key_r)</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00162">SetTracker.h:162</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_aa64bc1470b630627e8d924600b2aed71"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#aa64bc1470b630627e8d924600b2aed71">zypp::base::SetTracker::remove</a></div><div class="ttdeci">bool remove(const value_type &val_r)</div><div class="ttdoc">Remove an element from the set and track changes.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00114">SetTracker.h:114</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_ab4df698a548cf902c848175787e22c9c"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#ab4df698a548cf902c848175787e22c9c">zypp::base::SetTracker::SetTracker</a></div><div class="ttdeci">SetTracker()</div><div class="ttdoc">Default Ctor: empty set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00044">SetTracker.h:44</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_aa715633c0fd461f85714678653433aa7"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#aa715633c0fd461f85714678653433aa7">zypp::base::SetTracker::current</a></div><div class="ttdeci">set_type & current()</div><div class="ttdoc">Return the current set.</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00151">SetTracker.h:151</a></div></div> <div class="ttc" id="namespacezypp_html"><div class="ttname"><a href="namespacezypp.html">zypp</a></div><div class="ttdoc">Easy-to use interface to the ZYPP dependency resolver.</div><div class="ttdef"><b>Definition:</b> <a href="CodePitfalls_8doc_source.html#l00001">CodePitfalls.doc:1</a></div></div> <div class="ttc" id="structzypp_1_1base_1_1SetTracker_html_addf99a770ef0e0740fb0cf2aa20efeff"><div class="ttname"><a href="structzypp_1_1base_1_1SetTracker.html#addf99a770ef0e0740fb0cf2aa20efeff">zypp::base::SetTracker::_current</a></div><div class="ttdeci">set_type _current</div><div class="ttdef"><b>Definition:</b> <a href="SetTracker_8h_source.html#l00183">SetTracker.h:183</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_c187b43c6f283d9fc95eff3f44ce072a.html">zypp</a></li><li class="navelem"><a class="el" href="dir_76651d3a0256a4372f696a008d71ee69.html">base</a></li><li class="navelem"><a class="el" href="SetTracker_8h.html">SetTracker.h</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li> </ul> </div> </body> </html>