<!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/InstanceId.cc 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('InstanceId_8cc_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">InstanceId.cc</div> </div> </div><!--header--> <div class="contents"> <a href="InstanceId_8cc.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="comment">//#include <iostream></span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">//#include "zypp/base/LogTools.h"</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="String_8h.html">zypp/base/String.h</a>"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="InstanceId_8h.html">zypp/InstanceId.h</a>"</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="ResPool_8h.html">zypp/ResPool.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">using</span> std::endl;</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><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> { </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div><div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classzypp_1_1InstanceId.html#a004910332ee61866317547cbf526ede1"> 25</a></span>  std::string <a class="code" href="classzypp_1_1InstanceId.html#a004910332ee61866317547cbf526ede1">InstanceId::getIdFor</a>( <a class="code" href="classzypp_1_1sat_1_1Solvable.html">sat::Solvable</a> slv_r )<span class="keyword"> const</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">if</span> ( ! slv_r )</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keywordflow">return</span> std::string();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  std::string ret( <a class="code" href="classzypp_1_1InstanceId.html#a81343727acd1ed731acbdc7d53f51022">_namespace</a> );</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">if</span> ( ! ret.empty() )</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  ret += <span class="charliteral">':'</span>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">if</span> ( slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#ac22636377a46b836db3afda0da3fdcac">isKind</a><<a class="code" href="classzypp_1_1SrcPackage.html">SrcPackage</a>>() ) <span class="comment">// libsolv uses no namespace in SrcPackage ident!</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  ret += <a class="code" href="classzypp_1_1ResKind.html#a0bed16fac0f44240b981377d495cbe85">ResKind::srcpackage</a>.<a class="code" href="classzypp_1_1IdStringType.html#a314dc425eaf7736f8f0f1b444af7e72a">c_str</a>();</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  ret += <span class="charliteral">':'</span>;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  ret += <a class="code" href="group__ZYPP__SMART__PTR.html#ga9ffc8a01367e8a71d551ea8dbdc356f2">str::form</a>( <span class="stringliteral">"%s-%s-%s.%s@%s"</span>,</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#adf9d2a50e9c546dc93ef5d81ee621d47">ident</a>().<a class="code" href="classzypp_1_1IdString.html#a1672c39ebd768ff4189d20cd59204ec1">c_str</a>(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#a613c5ee894a41d6459368ac1967ac755">edition</a>().<a class="code" href="classzypp_1_1Edition.html#a2d905c5efd947bf409860fad9cc00fcf">version</a>().c_str(),</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#a613c5ee894a41d6459368ac1967ac755">edition</a>().<a class="code" href="classzypp_1_1Edition.html#a7cdc3e215b0635ad5947801af94971d5">release</a>().c_str(),</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#a79cd6723c10b42b33891e7f5da8384f7">arch</a>().<a class="code" href="classzypp_1_1Arch.html#a0d922f59184d21b05ccc9b30e3bd5fdd">c_str</a>(),</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  slv_r.<a class="code" href="classzypp_1_1sat_1_1Solvable.html#af4f3b147852d64d9431c94afa66ad30b">repository</a>().<a class="code" href="classzypp_1_1Repository.html#a8d5e8a8e961bf1cb0d1942d8a892f151">alias</a>().c_str() );</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classzypp_1_1InstanceId.html#aea95778a00ee85bde93645a3369e5bf6"> 49</a></span>  <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a> <a class="code" href="classzypp_1_1InstanceId.html#aea95778a00ee85bde93645a3369e5bf6">InstanceId::findPoolItem</a>( <span class="keyword">const</span> std::string str_r )<span class="keyword"> const</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="comment">// [namespace:]<name>-<version>-<release>.<arch>@<repoalias></span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">std::string::size_type</a> namespaceOff( <a class="code" href="classzypp_1_1InstanceId.html#a81343727acd1ed731acbdc7d53f51022">_namespace</a>.size() );</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="keywordflow">if</span> ( namespaceOff )</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span> ( ! <a class="code" href="namespacezypp_1_1str.html#a5e64cab973a815bfc5c3811b5086a2b9">str::hasPrefix</a>( str_r, <a class="code" href="classzypp_1_1InstanceId.html#a81343727acd1ed731acbdc7d53f51022">_namespace</a> ) || str_r[namespaceOff] != <span class="charliteral">':'</span> )</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  ++namespaceOff; <span class="comment">// for the ':'</span></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="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// check repo</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">std::string::size_type</a> rdelim( str_r.find( <span class="stringliteral">"@"</span> ) );</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> ( rdelim == std::string::npos )</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</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>  <a class="code" href="classzypp_1_1Repository.html">Repository</a> repo( <a class="code" href="classzypp_1_1sat_1_1Pool.html#aacf0eaeb5c1f2dbe59254df82840dd9a">sat::Pool::instance</a>().reposFind( str_r.substr( rdelim+1) ) );</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> ( ! repo )</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="comment">// check n-v-r.a from behind</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">std::string::size_type</a> delim = str_r.rfind( <span class="stringliteral">"."</span>, rdelim );</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> ( delim == std::string::npos )</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classzypp_1_1Arch.html">Arch</a> arch( str_r.substr( delim+1, rdelim-delim-1 ) );</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>  <span class="comment">// v-r starts at one but last '-'</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  rdelim = delim;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  delim = str_r.rfind( <span class="stringliteral">"-"</span>, rdelim );</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">if</span> ( delim == std::string::npos )</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</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="keywordflow">if</span> ( delim == rdelim-1 ) <span class="comment">// supress an empty release</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  rdelim = delim;</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>  delim = str_r.rfind( <span class="stringliteral">"-"</span>, delim-1 );</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">if</span> ( delim == std::string::npos )</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classzypp_1_1Edition.html">Edition</a> ed( str_r.substr( delim+1, rdelim-delim-1 ) );</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// eveythig before is name (except the leading "<namespace>:")</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  std::string identstring( str_r.substr( namespaceOff, delim-namespaceOff ) );</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>  <span class="comment">// now lookup in pool..</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="classzypp_1_1sat_1_1Solvable_1_1SplitIdent.html">sat::Solvable::SplitIdent</a> ident( (<a class="code" href="classzypp_1_1IdString.html">IdString</a>(identstring)) );</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="classzypp_1_1ResPool.html">ResPool</a> pool( <a class="code" href="classzypp_1_1ResPool.html#a35598ca6a635941d758dd092c5200c9c">ResPool::instance</a>() );</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="Easy_8h.html#a7887338b8a0727becb37d8061fcbfc0e">for_</a>( it, pool.<a class="code" href="classzypp_1_1ResPool.html#af0b36b0b4e2915e673760112bcab71a2">byIdentBegin</a>( ident.kind(), ident.name() ), pool.<a class="code" href="classzypp_1_1ResPool.html#af59aa756ead53e5c72ff94d72c9ad2bf">byIdentEnd</a>( ident.kind(), ident.name() ) )</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classzypp_1_1sat_1_1Solvable.html">sat::Solvable</a> solv( (*it).satSolvable() );</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">if</span> ( solv.repository() == repo && solv.arch() == arch && solv.edition() == ed )</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> *it;</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>  }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1PoolItem.html">PoolItem</a>();</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> </div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classzypp_1_1InstanceId.html#a79b88c886be2798fcf834a4e9efb69b4"> 109</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classzypp_1_1InstanceId.html#a79b88c886be2798fcf834a4e9efb69b4">InstanceId::isSystemId</a>( <span class="keyword">const</span> std::string str_r )<span class="keyword"> const</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> <a class="code" href="namespacezypp_1_1str.html#a1a16f87f54a18c1509f544ca08751bcf">str::hasSuffix</a>( str_r, <a class="code" href="classzypp_1_1Repository.html#ae7629a5a9c3ae3fd69f21e5e24ebc5ca">Repository::systemRepoAlias</a>() ); }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> } <span class="comment">// namespace zypp</span></div><div class="ttc" id="classzypp_1_1sat_1_1Solvable_html"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html">zypp::sat::Solvable</a></div><div class="ttdoc">A Solvable object within the sat Pool.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8h_source.html#l00053">Solvable.h:53</a></div></div> <div class="ttc" id="classzypp_1_1Arch_html"><div class="ttname"><a href="classzypp_1_1Arch.html">zypp::Arch</a></div><div class="ttdoc">Architecture.</div><div class="ttdef"><b>Definition:</b> <a href="Arch_8h_source.html#l00036">Arch.h:36</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_html_ac22636377a46b836db3afda0da3fdcac"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html#ac22636377a46b836db3afda0da3fdcac">zypp::sat::Solvable::isKind</a></div><div class="ttdeci">bool isKind(const ResKind &kind_r) const</div><div class="ttdoc">Test whether a Solvable is of a certain ResKind.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8cc_source.html#l00298">Solvable.cc:298</a></div></div> <div class="ttc" id="classzypp_1_1ResKind_html_a0bed16fac0f44240b981377d495cbe85"><div class="ttname"><a href="classzypp_1_1ResKind.html#a0bed16fac0f44240b981377d495cbe85">zypp::ResKind::srcpackage</a></div><div class="ttdeci">static const ResKind srcpackage</div><div class="ttdef"><b>Definition:</b> <a href="ResKind_8h_source.html#l00044">ResKind.h:44</a></div></div> <div class="ttc" id="classzypp_1_1IdString_html"><div class="ttname"><a href="classzypp_1_1IdString.html">zypp::IdString</a></div><div class="ttdoc">Access to the sat-pools string space.</div><div class="ttdef"><b>Definition:</b> <a href="IdString_8h_source.html#l00041">IdString.h:41</a></div></div> <div class="ttc" id="Easy_8h_html_a7887338b8a0727becb37d8061fcbfc0e"><div class="ttname"><a href="Easy_8h.html#a7887338b8a0727becb37d8061fcbfc0e">for_</a></div><div class="ttdeci">#define for_(IT, BEG, END)</div><div class="ttdoc">Convenient for-loops using iterator.</div><div class="ttdef"><b>Definition:</b> <a href="Easy_8h_source.html#l00027">Easy.h:27</a></div></div> <div class="ttc" id="classzypp_1_1Edition_html"><div class="ttname"><a href="classzypp_1_1Edition.html">zypp::Edition</a></div><div class="ttdoc">Edition represents [epoch:]version[-release]</div><div class="ttdef"><b>Definition:</b> <a href="Edition_8h_source.html#l00060">Edition.h:60</a></div></div> <div class="ttc" id="group__ZYPP__SMART__PTR_html_ga9ffc8a01367e8a71d551ea8dbdc356f2"><div class="ttname"><a href="group__ZYPP__SMART__PTR.html#ga9ffc8a01367e8a71d551ea8dbdc356f2">zypp::str::form</a></div><div class="ttdeci">std::string form(const char *format,...) __attribute__((format(printf</div><div class="ttdoc">Printf style construction of std::string.</div><div class="ttdef"><b>Definition:</b> <a href="String_8cc_source.html#l00036">String.cc:36</a></div></div> <div class="ttc" id="classzypp_1_1Arch_html_a0d922f59184d21b05ccc9b30e3bd5fdd"><div class="ttname"><a href="classzypp_1_1Arch.html#a0d922f59184d21b05ccc9b30e3bd5fdd">zypp::Arch::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdef"><b>Definition:</b> <a href="Arch_8h_source.html#l00059">Arch.h:59</a></div></div> <div class="ttc" id="ResPool_8h_html"><div class="ttname"><a href="ResPool_8h.html">ResPool.h</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_html_af4f3b147852d64d9431c94afa66ad30b"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html#af4f3b147852d64d9431c94afa66ad30b">zypp::sat::Solvable::repository</a></div><div class="ttdeci">Repository repository() const</div><div class="ttdoc">The Repository this Solvable belongs to.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8cc_source.html#l00359">Solvable.cc:359</a></div></div> <div class="ttc" id="classzypp_1_1InstanceId_html_aea95778a00ee85bde93645a3369e5bf6"><div class="ttname"><a href="classzypp_1_1InstanceId.html#aea95778a00ee85bde93645a3369e5bf6">zypp::InstanceId::findPoolItem</a></div><div class="ttdeci">PoolItem findPoolItem(const std::string str_r) const</div><div class="ttdoc">InstanceId string to PoolItem.</div><div class="ttdef"><b>Definition:</b> <a href="InstanceId_8cc_source.html#l00049">InstanceId.cc:49</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Pool_html_aacf0eaeb5c1f2dbe59254df82840dd9a"><div class="ttname"><a href="classzypp_1_1sat_1_1Pool.html#aacf0eaeb5c1f2dbe59254df82840dd9a">zypp::sat::Pool::instance</a></div><div class="ttdeci">static Pool instance()</div><div class="ttdoc">Singleton ctor.</div><div class="ttdef"><b>Definition:</b> <a href="Pool_8h_source.html#l00053">Pool.h:53</a></div></div> <div class="ttc" id="classzypp_1_1Edition_html_a2d905c5efd947bf409860fad9cc00fcf"><div class="ttname"><a href="classzypp_1_1Edition.html#a2d905c5efd947bf409860fad9cc00fcf">zypp::Edition::version</a></div><div class="ttdeci">std::string version() const</div><div class="ttdoc">Version.</div><div class="ttdef"><b>Definition:</b> <a href="Edition_8cc_source.html#l00094">Edition.cc:94</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_html_a613c5ee894a41d6459368ac1967ac755"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html#a613c5ee894a41d6459368ac1967ac755">zypp::sat::Solvable::edition</a></div><div class="ttdeci">Edition edition() const</div><div class="ttdoc">The edition (version-release).</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8cc_source.html#l00333">Solvable.cc:333</a></div></div> <div class="ttc" id="classzypp_1_1Edition_html_a7cdc3e215b0635ad5947801af94971d5"><div class="ttname"><a href="classzypp_1_1Edition.html#a7cdc3e215b0635ad5947801af94971d5">zypp::Edition::release</a></div><div class="ttdeci">std::string release() const</div><div class="ttdoc">Release.</div><div class="ttdef"><b>Definition:</b> <a href="Edition_8cc_source.html#l00110">Edition.cc:110</a></div></div> <div class="ttc" id="classzypp_1_1InstanceId_html_a79b88c886be2798fcf834a4e9efb69b4"><div class="ttname"><a href="classzypp_1_1InstanceId.html#a79b88c886be2798fcf834a4e9efb69b4">zypp::InstanceId::isSystemId</a></div><div class="ttdeci">bool isSystemId(const std::string str_r) const</div><div class="ttdoc">Quick test whether the InstanceId string would refer to a system (installed) Solvable.</div><div class="ttdef"><b>Definition:</b> <a href="InstanceId_8cc_source.html#l00109">InstanceId.cc:109</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_html_a79cd6723c10b42b33891e7f5da8384f7"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html#a79cd6723c10b42b33891e7f5da8384f7">zypp::sat::Solvable::arch</a></div><div class="ttdeci">Arch arch() const</div><div class="ttdoc">The architecture.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8cc_source.html#l00339">Solvable.cc:339</a></div></div> <div class="ttc" id="InstanceId_8h_html"><div class="ttname"><a href="InstanceId_8h.html">InstanceId.h</a></div></div> <div class="ttc" id="classzypp_1_1IdString_html_a1672c39ebd768ff4189d20cd59204ec1"><div class="ttname"><a href="classzypp_1_1IdString.html#a1672c39ebd768ff4189d20cd59204ec1">zypp::IdString::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdoc">Conversion to const char *</div><div class="ttdef"><b>Definition:</b> <a href="IdString_8cc_source.html#l00050">IdString.cc:50</a></div></div> <div class="ttc" id="namespacezypp_1_1sat_1_1detail_html_ac0d3ca93132eee14b022898f23b49d07"><div class="ttname"><a href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">zypp::sat::detail::size_type</a></div><div class="ttdeci">SolvableIdType size_type</div><div class="ttdef"><b>Definition:</b> <a href="PoolMember_8h_source.html#l00152">PoolMember.h:152</a></div></div> <div class="ttc" id="classzypp_1_1Repository_html"><div class="ttname"><a href="classzypp_1_1Repository.html">zypp::Repository</a></div><div class="ttdef"><b>Definition:</b> <a href="Repository_8h_source.html#l00039">Repository.h:39</a></div></div> <div class="ttc" id="classzypp_1_1SrcPackage_html"><div class="ttname"><a href="classzypp_1_1SrcPackage.html">zypp::SrcPackage</a></div><div class="ttdoc">SrcPackage interface.</div><div class="ttdef"><b>Definition:</b> <a href="SrcPackage_8h_source.html#l00029">SrcPackage.h:29</a></div></div> <div class="ttc" id="classzypp_1_1ResPool_html"><div class="ttname"><a href="classzypp_1_1ResPool.html">zypp::ResPool</a></div><div class="ttdoc">Global ResObject pool.</div><div class="ttdef"><b>Definition:</b> <a href="ResPool_8h_source.html#l00060">ResPool.h:60</a></div></div> <div class="ttc" id="classzypp_1_1Repository_html_a8d5e8a8e961bf1cb0d1942d8a892f151"><div class="ttname"><a href="classzypp_1_1Repository.html#a8d5e8a8e961bf1cb0d1942d8a892f151">zypp::Repository::alias</a></div><div class="ttdeci">std::string alias() const</div><div class="ttdoc">Short unique string to identify a repo.</div><div class="ttdef"><b>Definition:</b> <a href="Repository_8cc_source.html#l00059">Repository.cc:59</a></div></div> <div class="ttc" id="namespacezypp_1_1str_html_a1a16f87f54a18c1509f544ca08751bcf"><div class="ttname"><a href="namespacezypp_1_1str.html#a1a16f87f54a18c1509f544ca08751bcf">zypp::str::hasSuffix</a></div><div class="ttdeci">bool hasSuffix(const C_Str &str_r, const C_Str &suffix_r)</div><div class="ttdoc">Return whether str_r has suffix suffix_r.</div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l01034">String.h:1034</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_1_1SplitIdent_html"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable_1_1SplitIdent.html">zypp::sat::Solvable::SplitIdent</a></div><div class="ttdoc">Helper that splits an identifier into kind and name or vice versa.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8h_source.html#l00306">Solvable.h:306</a></div></div> <div class="ttc" id="classzypp_1_1PoolItem_html"><div class="ttname"><a href="classzypp_1_1PoolItem.html">zypp::PoolItem</a></div><div class="ttdoc">Combining sat::Solvable and ResStatus.</div><div class="ttdef"><b>Definition:</b> <a href="PoolItem_8h_source.html#l00050">PoolItem.h:50</a></div></div> <div class="ttc" id="classzypp_1_1InstanceId_html_a81343727acd1ed731acbdc7d53f51022"><div class="ttname"><a href="classzypp_1_1InstanceId.html#a81343727acd1ed731acbdc7d53f51022">zypp::InstanceId::_namespace</a></div><div class="ttdeci">std::string _namespace</div><div class="ttdef"><b>Definition:</b> <a href="InstanceId_8h_source.html#l00102">InstanceId.h:102</a></div></div> <div class="ttc" id="classzypp_1_1ResPool_html_af59aa756ead53e5c72ff94d72c9ad2bf"><div class="ttname"><a href="classzypp_1_1ResPool.html#af59aa756ead53e5c72ff94d72c9ad2bf">zypp::ResPool::byIdentEnd</a></div><div class="ttdeci">byIdent_iterator byIdentEnd(const ByIdent &ident_r) const</div><div class="ttdef"><b>Definition:</b> <a href="ResPool_8h_source.html#l00197">ResPool.h:197</a></div></div> <div class="ttc" id="classzypp_1_1Repository_html_ae7629a5a9c3ae3fd69f21e5e24ebc5ca"><div class="ttname"><a href="classzypp_1_1Repository.html#ae7629a5a9c3ae3fd69f21e5e24ebc5ca">zypp::Repository::systemRepoAlias</a></div><div class="ttdeci">static const std::string & systemRepoAlias()</div><div class="ttdoc">Reserved system repository alias @System .</div><div class="ttdef"><b>Definition:</b> <a href="Repository_8cc_source.html#l00037">Repository.cc:37</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="namespacezypp_1_1str_html_a5e64cab973a815bfc5c3811b5086a2b9"><div class="ttname"><a href="namespacezypp_1_1str.html#a5e64cab973a815bfc5c3811b5086a2b9">zypp::str::hasPrefix</a></div><div class="ttdeci">bool hasPrefix(const C_Str &str_r, const C_Str &prefix_r)</div><div class="ttdoc">Return whether str_r has prefix prefix_r.</div><div class="ttdef"><b>Definition:</b> <a href="String_8h_source.html#l01020">String.h:1020</a></div></div> <div class="ttc" id="classzypp_1_1IdStringType_html_a314dc425eaf7736f8f0f1b444af7e72a"><div class="ttname"><a href="classzypp_1_1IdStringType.html#a314dc425eaf7736f8f0f1b444af7e72a">zypp::IdStringType::c_str</a></div><div class="ttdeci">const char * c_str() const</div><div class="ttdef"><b>Definition:</b> <a href="IdStringType_8h_source.html#l00105">IdStringType.h:105</a></div></div> <div class="ttc" id="String_8h_html"><div class="ttname"><a href="String_8h.html">String.h</a></div></div> <div class="ttc" id="classzypp_1_1sat_1_1Solvable_html_adf9d2a50e9c546dc93ef5d81ee621d47"><div class="ttname"><a href="classzypp_1_1sat_1_1Solvable.html#adf9d2a50e9c546dc93ef5d81ee621d47">zypp::sat::Solvable::ident</a></div><div class="ttdeci">IdString ident() const</div><div class="ttdoc">The identifier.</div><div class="ttdef"><b>Definition:</b> <a href="Solvable_8cc_source.html#l00265">Solvable.cc:265</a></div></div> <div class="ttc" id="classzypp_1_1ResPool_html_af0b36b0b4e2915e673760112bcab71a2"><div class="ttname"><a href="classzypp_1_1ResPool.html#af0b36b0b4e2915e673760112bcab71a2">zypp::ResPool::byIdentBegin</a></div><div class="ttdeci">byIdent_iterator byIdentBegin(const ByIdent &ident_r) const</div><div class="ttdef"><b>Definition:</b> <a href="ResPool_8h_source.html#l00166">ResPool.h:166</a></div></div> <div class="ttc" id="classzypp_1_1InstanceId_html_a004910332ee61866317547cbf526ede1"><div class="ttname"><a href="classzypp_1_1InstanceId.html#a004910332ee61866317547cbf526ede1">zypp::InstanceId::getIdFor</a></div><div class="ttdeci">std::string getIdFor(sat::Solvable slv_r) const</div><div class="ttdoc">Solvable to InstanceId string.</div><div class="ttdef"><b>Definition:</b> <a href="InstanceId_8cc_source.html#l00025">InstanceId.cc:25</a></div></div> <div class="ttc" id="classzypp_1_1ResPool_html_a35598ca6a635941d758dd092c5200c9c"><div class="ttname"><a href="classzypp_1_1ResPool.html#a35598ca6a635941d758dd092c5200c9c">zypp::ResPool::instance</a></div><div class="ttdeci">static ResPool instance()</div><div class="ttdoc">Singleton ctor.</div><div class="ttdef"><b>Definition:</b> <a href="ResPool_8cc_source.html#l00033">ResPool.cc:33</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="InstanceId_8cc.html">InstanceId.cc</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>