<!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/IOStream.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('IOStream_8h_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">IOStream.h</div> </div> </div><!--header--> <div class="contents"> <a href="IOStream_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="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef ZYPP_BASE_IOSTREAM_H</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#define ZYPP_BASE_IOSTREAM_H</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <iosfwd></span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <boost/io/ios_state.hpp></span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="Flags_8h.html">zypp/base/Flags.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="PtrTypes_8h.html">zypp/base/PtrTypes.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#include "<a class="code" href="Function_8h.html">zypp/base/Function.h</a>"</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#include "<a class="code" href="NonCopyable_8h.html">zypp/base/NonCopyable.h</a>"</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> { </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">namespace </span>iostr</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  { </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a8e5e8920c48f5305147d3b3e6e5e7e50"> 35</a></span>  <span class="keyword">typedef</span> boost::io::ios_base_all_saver <a class="code" href="namespacezypp_1_1iostr.html#a8e5e8920c48f5305147d3b3e6e5e7e50">IosFmtFlagsSaver</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  std::string <a class="code" href="namespacezypp_1_1iostr.html#a9ebc01b7f87a5d078d0ac84d87407804">getline</a>( std::istream & <a class="code" href="namespacestr.html">str</a> );</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3807dcc209ee089a23589f70c7830b27"> 50</a></span>  <span class="keyword">inline</span> std::ostream & <a class="code" href="namespacezypp_1_1iostr.html#a3807dcc209ee089a23589f70c7830b27">copy</a>( std::istream & from_r, std::ostream & to_r )</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">if</span> ( from_r && to_r )</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>  <span class="keywordtype">char</span> ch;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">while</span> ( from_r && from_r.get( ch ) )</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  to_r.put( ch );</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">return</span> to_r;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a9986523d4b3150917cdd82e134a36020"> 64</a></span>  <span class="keyword">inline</span> std::ostream & <a class="code" href="namespacezypp_1_1iostr.html#a9986523d4b3150917cdd82e134a36020">copyIndent</a>( std::istream & from_r, std::ostream & to_r, <span class="keyword">const</span> std::string & indent_r = <span class="stringliteral">"> "</span> )</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> ( from_r && to_r )</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordtype">char</span> ch;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordtype">bool</span> indent = <span class="keyword">true</span>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">while</span> ( from_r && from_r.get( ch ) )</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> ( indent )</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  to_r << indent_r;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  indent = ( ch == <span class="charliteral">'\n'</span> );</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  to_r.put( ch );</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> to_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> </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a578192eee759dbab38042466a391bd0e"> 84</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacezypp_1_1iostr.html#a578192eee759dbab38042466a391bd0e">tee</a>( std::istream & from_r, std::ostream & to1_r, std::ostream & to2_r )</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">if</span> ( from_r && ( to1_r ||to2_r ) )</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">char</span> ch;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">while</span> ( from_r && from_r.get( ch ) )</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  to1_r.put( ch );</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  to2_r.put( ch );</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>  }</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="l00098"></a><span class="lineno"> 98</span>  <span class="comment">//</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">// CLASS NAME : EachLine</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">//</span></div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html"> 111</a></span> <span class="comment"></span> <span class="keyword">class </span><a class="code" href="classzypp_1_1iostr_1_1EachLine.html">EachLine</a> : <span class="keyword">private</span> <a class="code" href="namespacezypp_1_1base.html#a3a6dcdb2e24ab74d95eb8a117f429af1">base::NonCopyable</a></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#ab6a773ee63ad7067a774489eb1dce79a">EachLine</a>( std::istream & str_r, <span class="keywordtype">unsigned</span> lineNo_r = 0 );</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a61e475ee6be0e2597d029bdd38629a0a"> 118</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a61e475ee6be0e2597d029bdd38629a0a">valid</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#adff4f5797e191a6420d40d147886e05e">_valid</a>; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a222366a91b5b43b691c90dd879821890"> 122</a></span>  <span class="keyword">explicit</span> <span class="keyword">operator</span> <a class="code" href="classbool.html">bool</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#adff4f5797e191a6420d40d147886e05e">_valid</a>; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a5caaaf713e349f1a15c17fb78b11b75a"> 126</a></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a5caaaf713e349f1a15c17fb78b11b75a">lineNo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#afe052309e7a30f69415667c174ded58f">_lineNo</a>; }</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="classzypp_1_1iostr_1_1EachLine.html#a3e8a433e4e9406553365098bc2676194"> 129</a></span>  std::streamoff <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a3e8a433e4e9406553365098bc2676194">lineStart</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#ae2be7616d80c46053eb71bde2af5a00e">_lineStart</a>; };</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a22930eeb45d9924efe2920fc662ee816"> 133</a></span>  <span class="keywordtype">void</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a22930eeb45d9924efe2920fc662ee816">setLineNo</a>( <span class="keywordtype">unsigned</span> lineNo_r )</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  { <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#afe052309e7a30f69415667c174ded58f">_lineNo</a> = lineNo_r; }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a8fb0dcf85fbd25c2ae1cca73d8b8190a"> 137</a></span>  <span class="keyword">const</span> std::string & <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a8fb0dcf85fbd25c2ae1cca73d8b8190a">operator*</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3">_line</a>; }</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a71529546016e04e3afa7853152645808"> 140</a></span>  std::string & <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a71529546016e04e3afa7853152645808">operator*</a>()</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  { <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3">_line</a>; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a4f9c60a454951d209d69983328416191"> 144</a></span>  <span class="keyword">const</span> std::string * <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a4f9c60a454951d209d69983328416191">operator-></a>()<span class="keyword"> const</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> &<a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3">_line</a>; }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a7a5af3bc723dd3a52abb8ad8618f9c14">next</a>();</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a05d943107e2f018826b8bb442e342890"> 151</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a05d943107e2f018826b8bb442e342890">next</a>( <span class="keywordtype">unsigned</span> num_r )</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">while</span> ( num_r-- && <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a7a5af3bc723dd3a52abb8ad8618f9c14">next</a>() )</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  ; <span class="comment">/* EMPTY */</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a61e475ee6be0e2597d029bdd38629a0a">valid</a>();</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a0ae8b8f5d1ae3088781e0895edad8979"> 159</a></span>  std::istream & <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a0ae8b8f5d1ae3088781e0895edad8979">_str</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3"> 160</a></span>  std::string <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3">_line</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#ae2be7616d80c46053eb71bde2af5a00e"> 161</a></span>  std::streamoff <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#ae2be7616d80c46053eb71bde2af5a00e">_lineStart</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#afe052309e7a30f69415667c174ded58f"> 162</a></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#afe052309e7a30f69415667c174ded58f">_lineNo</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classzypp_1_1iostr_1_1EachLine.html#adff4f5797e191a6420d40d147886e05e"> 163</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1iostr_1_1EachLine.html#adff4f5797e191a6420d40d147886e05e">_valid</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  };</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordtype">int</span> <a class="code" href="namespacezypp_1_1iostr.html#a6bc2e9da670c1a36a5547b6538345cba">forEachLine</a>( std::istream & str_r, <span class="keyword">function</span><<span class="keywordtype">bool</span>(<span class="keywordtype">int</span>, std::string)> consume_r );</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dab"> 188</a></span>  <span class="keyword">enum</span> <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dab">ParseFlag</a></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  {</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaedc166788f8e344ff11f35d66be9ede0"> 190</a></span>  <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaedc166788f8e344ff11f35d66be9ede0">PF_LTRIM</a> = 1 << 0, <span class="comment">//< left trim whitespace</span></div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba45021b50bbaa3058b11513bd69df62e0"> 191</a></span>  <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba45021b50bbaa3058b11513bd69df62e0">PF_RTRIM</a> = 1 << 1, <span class="comment">//< right trim whitespace</span></div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba88c27e17b0abd423c7e586f907dbaa9f"> 192</a></span>  <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba88c27e17b0abd423c7e586f907dbaa9f">PF_TRIM</a> = <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaedc166788f8e344ff11f35d66be9ede0">PF_LTRIM</a> | <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba45021b50bbaa3058b11513bd69df62e0">PF_RTRIM</a>, <span class="comment">//< trim whitespace</span></div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba411b16f725c7a18e8a9d5d403d1e6dcf"> 193</a></span>  <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba411b16f725c7a18e8a9d5d403d1e6dcf">PF_SKIP_EMPTY</a> = 1 << 2, <span class="comment">//< skip lines containing whitespace only</span></div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaa76770ef9b1cea624d4784420c888f00"> 194</a></span>  <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaa76770ef9b1cea624d4784420c888f00">PF_SKIP_SHARP_COMMENT</a> = 1 << 3 <span class="comment">//< skip lines beginning with '#'</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  };</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="namespacezypp_1_1iostr.html#ad84b3964177cbbf9fee307c892ae1fc0">ZYPP_DECLARE_FLAGS</a>( ParseFlags, <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dab">ParseFlag</a> );</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="namespacezypp_1_1iostr.html#a6666c02fad4472f591c63c68b6477886">ZYPP_DECLARE_OPERATORS_FOR_FLAGS</a>( ParseFlags );</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordtype">int</span> <a class="code" href="namespacezypp_1_1iostr.html#a81d7671f198eece2a4cb4eddf59c6879">simpleParseFile</a>( std::istream & str_r, ParseFlags flags_r, <span class="keyword">function</span><<span class="keywordtype">bool</span>(<span class="keywordtype">int</span>, std::string)> consume_r );</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="namespacezypp_1_1iostr.html#acae8a150665dc5989f8346ac2bd4dca3"> 203</a></span>  <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespacezypp_1_1iostr.html#a81d7671f198eece2a4cb4eddf59c6879">simpleParseFile</a>( std::istream & str_r, <span class="keyword">function</span><<span class="keywordtype">bool</span>(<span class="keywordtype">int</span>, std::string)> consume_r )</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  { <span class="keywordflow">return</span> <a class="code" href="namespacezypp_1_1iostr.html#a81d7671f198eece2a4cb4eddf59c6879">simpleParseFile</a>( str_r, <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba88c27e17b0abd423c7e586f907dbaa9f">PF_TRIM</a> | <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba411b16f725c7a18e8a9d5d403d1e6dcf">PF_SKIP_EMPTY</a> | <a class="code" href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaa76770ef9b1cea624d4784420c888f00">PF_SKIP_SHARP_COMMENT</a> , consume_r ); }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  } <span class="comment">// namespace iostr</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"></span>} <span class="comment">// namespace zypp</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="comment"></span><span class="preprocessor">#endif // ZYPP_BASE_IOSTREAM_H</span></div><div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a7a5af3bc723dd3a52abb8ad8618f9c14"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a7a5af3bc723dd3a52abb8ad8618f9c14">zypp::iostr::EachLine::next</a></div><div class="ttdeci">bool next()</div><div class="ttdoc">Advance to next line.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8cc_source.html#l00072">IOStream.cc:72</a></div></div> <div class="ttc" id="NonCopyable_8h_html"><div class="ttname"><a href="NonCopyable_8h.html">NonCopyable.h</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a9986523d4b3150917cdd82e134a36020"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a9986523d4b3150917cdd82e134a36020">zypp::iostr::copyIndent</a></div><div class="ttdeci">std::ostream & copyIndent(std::istream &from_r, std::ostream &to_r, const std::string &indent_r="> ")</div><div class="ttdoc">Copy istream to ostream, prefixing each line with indent_r (default "> " ).</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00064">IOStream.h:64</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a5caaaf713e349f1a15c17fb78b11b75a"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a5caaaf713e349f1a15c17fb78b11b75a">zypp::iostr::EachLine::lineNo</a></div><div class="ttdeci">unsigned lineNo() const</div><div class="ttdoc">Return the current line number.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00126">IOStream.h:126</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a4f9c60a454951d209d69983328416191"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a4f9c60a454951d209d69983328416191">zypp::iostr::EachLine::operator-></a></div><div class="ttdeci">const std::string * operator->() const</div><div class="ttdoc">Access the current line.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00144">IOStream.h:144</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a8e5e8920c48f5305147d3b3e6e5e7e50"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a8e5e8920c48f5305147d3b3e6e5e7e50">zypp::iostr::IosFmtFlagsSaver</a></div><div class="ttdeci">boost::io::ios_base_all_saver IosFmtFlagsSaver</div><div class="ttdoc">Save and restore streams width, precision and fmtflags.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00035">IOStream.h:35</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="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256dabaa76770ef9b1cea624d4784420c888f00"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaa76770ef9b1cea624d4784420c888f00">zypp::iostr::PF_SKIP_SHARP_COMMENT</a></div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00194">IOStream.h:194</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a387305de1eb9dd83fc47c89b30b2b3c3"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a387305de1eb9dd83fc47c89b30b2b3c3">zypp::iostr::EachLine::_line</a></div><div class="ttdeci">std::string _line</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00160">IOStream.h:160</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html">zypp::iostr::EachLine</a></div><div class="ttdoc">Simple lineparser: Traverse each line in a file.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00111">IOStream.h:111</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_ae2be7616d80c46053eb71bde2af5a00e"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#ae2be7616d80c46053eb71bde2af5a00e">zypp::iostr::EachLine::_lineStart</a></div><div class="ttdeci">std::streamoff _lineStart</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00161">IOStream.h:161</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a71529546016e04e3afa7853152645808"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a71529546016e04e3afa7853152645808">zypp::iostr::EachLine::operator*</a></div><div class="ttdeci">std::string & operator*()</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00140">IOStream.h:140</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a22930eeb45d9924efe2920fc662ee816"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a22930eeb45d9924efe2920fc662ee816">zypp::iostr::EachLine::setLineNo</a></div><div class="ttdeci">void setLineNo(unsigned lineNo_r)</div><div class="ttdoc">Set current line number.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00133">IOStream.h:133</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256dab"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dab">zypp::iostr::ParseFlag</a></div><div class="ttdeci">ParseFlag</div><div class="ttdoc">simpleParseFile modifications before consuming a line.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00188">IOStream.h:188</a></div></div> <div class="ttc" id="PtrTypes_8h_html"><div class="ttname"><a href="PtrTypes_8h.html">PtrTypes.h</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a9ebc01b7f87a5d078d0ac84d87407804"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a9ebc01b7f87a5d078d0ac84d87407804">zypp::iostr::getline</a></div><div class="ttdeci">std::string getline(std::istream &str)</div><div class="ttdoc">Read one line from stream.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8cc_source.html#l00033">IOStream.cc:33</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a81d7671f198eece2a4cb4eddf59c6879"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a81d7671f198eece2a4cb4eddf59c6879">zypp::iostr::simpleParseFile</a></div><div class="ttdeci">int simpleParseFile(std::istream &str_r, ParseFlags flags_r, function< bool(int, std::string)> consume_r)</div><div class="ttdoc">Simple lineparser optionally trimming and skipping comments.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8cc_source.html#l00124">IOStream.cc:124</a></div></div> <div class="ttc" id="namespacezypp_1_1base_html_a3a6dcdb2e24ab74d95eb8a117f429af1"><div class="ttname"><a href="namespacezypp_1_1base.html#a3a6dcdb2e24ab74d95eb8a117f429af1">zypp::base::NonCopyable</a></div><div class="ttdeci">boost::noncopyable NonCopyable</div><div class="ttdoc">Ensure derived classes cannot be copied.</div><div class="ttdef"><b>Definition:</b> <a href="NonCopyable_8h_source.html#l00026">NonCopyable.h:26</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a0ae8b8f5d1ae3088781e0895edad8979"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a0ae8b8f5d1ae3088781e0895edad8979">zypp::iostr::EachLine::_str</a></div><div class="ttdeci">std::istream & _str</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00159">IOStream.h:159</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a6bc2e9da670c1a36a5547b6538345cba"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a6bc2e9da670c1a36a5547b6538345cba">zypp::iostr::forEachLine</a></div><div class="ttdeci">int forEachLine(std::istream &str_r, function< bool(int, std::string)> consume_r)</div><div class="ttdoc">Simple lineparser: Call functor consume_r for each line.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8cc_source.html#l00100">IOStream.cc:100</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a05d943107e2f018826b8bb442e342890"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a05d943107e2f018826b8bb442e342890">zypp::iostr::EachLine::next</a></div><div class="ttdeci">bool next(unsigned num_r)</div><div class="ttdoc">Advance num_r lines.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00151">IOStream.h:151</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256daba411b16f725c7a18e8a9d5d403d1e6dcf"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba411b16f725c7a18e8a9d5d403d1e6dcf">zypp::iostr::PF_SKIP_EMPTY</a></div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00193">IOStream.h:193</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a3e8a433e4e9406553365098bc2676194"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a3e8a433e4e9406553365098bc2676194">zypp::iostr::EachLine::lineStart</a></div><div class="ttdeci">std::streamoff lineStart() const</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00129">IOStream.h:129</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256dabaedc166788f8e344ff11f35d66be9ede0"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256dabaedc166788f8e344ff11f35d66be9ede0">zypp::iostr::PF_LTRIM</a></div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00190">IOStream.h:190</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a6666c02fad4472f591c63c68b6477886"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a6666c02fad4472f591c63c68b6477886">zypp::iostr::ZYPP_DECLARE_OPERATORS_FOR_FLAGS</a></div><div class="ttdeci">ZYPP_DECLARE_OPERATORS_FOR_FLAGS(ParseFlags)</div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_a61e475ee6be0e2597d029bdd38629a0a"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a61e475ee6be0e2597d029bdd38629a0a">zypp::iostr::EachLine::valid</a></div><div class="ttdeci">bool valid() const</div><div class="ttdoc">Whether this contains a valid line to consume.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00118">IOStream.h:118</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256daba45021b50bbaa3058b11513bd69df62e0"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba45021b50bbaa3058b11513bd69df62e0">zypp::iostr::PF_RTRIM</a></div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00191">IOStream.h:191</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3807dcc209ee089a23589f70c7830b27"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3807dcc209ee089a23589f70c7830b27">zypp::iostr::copy</a></div><div class="ttdeci">std::ostream & copy(std::istream &from_r, std::ostream &to_r)</div><div class="ttdoc">Copy istream to ostream.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00050">IOStream.h:50</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_ad84b3964177cbbf9fee307c892ae1fc0"><div class="ttname"><a href="namespacezypp_1_1iostr.html#ad84b3964177cbbf9fee307c892ae1fc0">zypp::iostr::ZYPP_DECLARE_FLAGS</a></div><div class="ttdeci">ZYPP_DECLARE_FLAGS(ParseFlags, ParseFlag)</div></div> <div class="ttc" id="Function_8h_html"><div class="ttname"><a href="Function_8h.html">Function.h</a></div></div> <div class="ttc" id="classbool_html"><div class="ttname"><a href="classbool.html">bool</a></div></div> <div class="ttc" id="Flags_8h_html"><div class="ttname"><a href="Flags_8h.html">Flags.h</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a578192eee759dbab38042466a391bd0e"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a578192eee759dbab38042466a391bd0e">zypp::iostr::tee</a></div><div class="ttdeci">void tee(std::istream &from_r, std::ostream &to1_r, std::ostream &to2_r)</div><div class="ttdoc">Copy istream to ostream, prefixing each line with indent_r (default "> " ).</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00084">IOStream.h:84</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_adff4f5797e191a6420d40d147886e05e"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#adff4f5797e191a6420d40d147886e05e">zypp::iostr::EachLine::_valid</a></div><div class="ttdeci">bool _valid</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00163">IOStream.h:163</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="classzypp_1_1iostr_1_1EachLine_html_a8fb0dcf85fbd25c2ae1cca73d8b8190a"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#a8fb0dcf85fbd25c2ae1cca73d8b8190a">zypp::iostr::EachLine::operator*</a></div><div class="ttdeci">const std::string & operator*() const</div><div class="ttdoc">Access the current line.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00137">IOStream.h:137</a></div></div> <div class="ttc" id="namespacezypp_1_1iostr_html_a3a6c6bd53df12f5bd19e6cf249256daba88c27e17b0abd423c7e586f907dbaa9f"><div class="ttname"><a href="namespacezypp_1_1iostr.html#a3a6c6bd53df12f5bd19e6cf249256daba88c27e17b0abd423c7e586f907dbaa9f">zypp::iostr::PF_TRIM</a></div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00192">IOStream.h:192</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_ab6a773ee63ad7067a774489eb1dce79a"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#ab6a773ee63ad7067a774489eb1dce79a">zypp::iostr::EachLine::EachLine</a></div><div class="ttdeci">EachLine(std::istream &str_r, unsigned lineNo_r=0)</div><div class="ttdoc">Ctor taking a stream and reading the 1st line from it.</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8cc_source.html#l00058">IOStream.cc:58</a></div></div> <div class="ttc" id="classzypp_1_1iostr_1_1EachLine_html_afe052309e7a30f69415667c174ded58f"><div class="ttname"><a href="classzypp_1_1iostr_1_1EachLine.html#afe052309e7a30f69415667c174ded58f">zypp::iostr::EachLine::_lineNo</a></div><div class="ttdeci">unsigned _lineNo</div><div class="ttdef"><b>Definition:</b> <a href="IOStream_8h_source.html#l00162">IOStream.h:162</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="IOStream_8h.html">IOStream.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>