<!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/Locale.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('Locale_8cc_source.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">Locale.cc</div> </div> </div><!--header--> <div class="contents"> <a href="Locale_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="preprocessor">#include <iostream></span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <map></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 "<a class="code" href="Locale_8h.html">zypp/Locale.h</a>"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="ZConfig_8h.html">zypp/ZConfig.h</a>"</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="keyword">using</span> std::endl;</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">namespace </span><a class="code" href="namespacezypp.html">zypp</a></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html"> 24</a></span>  <span class="keyword">struct </span>CodeMaps</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a913d658d5ababf21850489e49b35db8a"> 27</a></span>  <span class="keyword">static</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> <a class="code" href="structzypp_1_1CodeMaps.html#a913d658d5ababf21850489e49b35db8a">withoutTrash</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> code_r )</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">boost::string_ref::size_type</a> sep = <a class="code" href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d">trashStart</a>( code_r );</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordflow">if</span> ( sep != boost::string_ref::npos )</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  code_r = <a class="code" href="classzypp_1_1IdString.html">IdString</a>( code_r.<a class="code" href="classzypp_1_1IdString.html#a1672c39ebd768ff4189d20cd59204ec1">c_str</a>(), sep );</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> code_r;</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> </div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#ab12e10437970e81dfd74572c3baa7b3f"> 36</a></span>  <span class="keyword">static</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> <a class="code" href="structzypp_1_1CodeMaps.html#ab12e10437970e81dfd74572c3baa7b3f">withoutTrash</a>( <span class="keyword">const</span> std::string & code_r )</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1CodeMaps.html#a913d658d5ababf21850489e49b35db8a">withoutTrash</a>( boost::string_ref(code_r) ); }</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a7b7e66f0e0377ad1e3d3bcd2a682db8e"> 40</a></span>  <span class="keyword">static</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> <a class="code" href="structzypp_1_1CodeMaps.html#a7b7e66f0e0377ad1e3d3bcd2a682db8e">withoutTrash</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * code_r )</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  { <span class="keywordflow">return</span>( code_r ? <a class="code" href="structzypp_1_1CodeMaps.html#a913d658d5ababf21850489e49b35db8a">withoutTrash</a>( boost::string_ref(code_r) ) : <a class="code" href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">IdString::Null</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_1CodeMaps.html#ab72abb297551f4ab1660440675e14f1f"> 44</a></span>  <span class="keyword">static</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> <a class="code" href="structzypp_1_1CodeMaps.html#ab72abb297551f4ab1660440675e14f1f">combineLC</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> language_r, <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> country_r )</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>  <a class="code" href="classzypp_1_1IdString.html">IdString</a> ret;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">if</span> ( language_r )</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span> ( country_r )</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  ret = <a class="code" href="classzypp_1_1IdString.html">IdString</a>( std::string(language_r) + <span class="stringliteral">"_"</span> + country_r.<a class="code" href="classzypp_1_1IdStringType.html#a314dc425eaf7736f8f0f1b444af7e72a">c_str</a>() );</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  ret = <a class="code" href="classzypp_1_1IdString.html">IdString</a>(language_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="keywordflow">else</span></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> ( country_r )</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  ret = <a class="code" href="classzypp_1_1IdString.html">IdString</a>( <span class="stringliteral">"_"</span> + std::string(country_r) );</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( ! ( <a class="code" href="classzypp_1_1IdString.html">IdString</a>(language_r) || <a class="code" href="classzypp_1_1IdString.html">IdString</a>(country_r) ) )</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  ret = <a class="code" href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">IdString::Null</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// else IdString::Empty</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordflow">return</span> ret;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a7c539f9a54f3464082affaac5f1c2aeb"> 66</a></span>  <span class="keyword">static</span> <a class="code" href="structzypp_1_1CodeMaps.html#a0411eef6bc3f53a0a60d1a6f7f4131ab">CodeMaps</a> & <a class="code" href="structzypp_1_1CodeMaps.html#a7c539f9a54f3464082affaac5f1c2aeb">instance</a>()</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="keyword">static</span> <a class="code" href="structzypp_1_1CodeMaps.html#a0411eef6bc3f53a0a60d1a6f7f4131ab">CodeMaps</a> _instance;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">return</span> _instance;</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> </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a159f6f3c9582df92c4015ad4e69d884e"> 72</a></span>  <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> <a class="code" href="structzypp_1_1CodeMaps.html#a159f6f3c9582df92c4015ad4e69d884e">language</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> index_r )</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">getIndex</a>( index_r ).<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</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"><a class="line" href="structzypp_1_1CodeMaps.html#a42f564334616ac44364a22896ea2ca66"> 75</a></span>  <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> <a class="code" href="structzypp_1_1CodeMaps.html#a42f564334616ac44364a22896ea2ca66">country</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> index_r )</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">getIndex</a>( index_r ).<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a>; }</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a41739b200c55bb0236731b637b7b6480"> 78</a></span>  std::string <a class="code" href="structzypp_1_1CodeMaps.html#a41739b200c55bb0236731b637b7b6480">name</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> index_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="keyword">const</span> <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a> & lc( <a class="code" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">getIndex</a>( index_r ) );</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  std::string ret( lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a>.<a class="code" href="classzypp_1_1LanguageCode.html#a4bbb0fbdace241738642e754bd2b39ef">name</a>() );</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">if</span> ( lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a> )</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  ret += <span class="stringliteral">" ("</span>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  ret += lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a>.<a class="code" href="classzypp_1_1CountryCode.html#a1e410c34fdcb225c11d24de2669d7bb7">name</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  ret += <span class="stringliteral">")"</span>;</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="keywordflow">return</span> ret;</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> </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a2efcd6eb7d0cb2a65aef0ee0a2a44fe4"> 91</a></span>  <a class="code" href="classzypp_1_1Locale.html">Locale</a> <a class="code" href="structzypp_1_1CodeMaps.html#a2efcd6eb7d0cb2a65aef0ee0a2a44fe4">fallback</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> index_r )</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> special( <span class="stringliteral">"pt_BR"</span> );</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classzypp_1_1Locale.html">Locale</a> ret;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">if</span> ( index_r == special ) <span class="comment">// "pt_BR"->"en" - by now the only fallback exception</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  ret = <a class="code" href="classzypp_1_1Locale.html#a50f74e55f966904bedc04e1bdfed26cb">Locale::enCode</a>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a> & lc( <a class="code" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">getIndex</a>( index_r ) );</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> ( lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a> )</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  ret = lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a> && lc.<a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a> != <a class="code" href="classzypp_1_1LanguageCode.html#a83775388505ee405fefe21e26afe3d0d">LanguageCode::enCode</a> )</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  ret = <a class="code" href="classzypp_1_1Locale.html#a50f74e55f966904bedc04e1bdfed26cb">Locale::enCode</a>;</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">return</span> ret;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</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="keyword">private</span>:</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a764a11ad054dfb500339a1957992c054"> 109</a></span>  <span class="keyword">static</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a> <a class="code" href="structzypp_1_1CodeMaps.html#a764a11ad054dfb500339a1957992c054">withoutTrash</a>( boost::string_ref code_r )</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">boost::string_ref::size_type</a> sep = <a class="code" href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d">trashStart</a>( code_r );</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">if</span> ( sep != boost::string_ref::npos )</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  code_r = code_r.substr( 0, sep );</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1IdString.html">IdString</a>( code_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> </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d"> 117</a></span>  <span class="keyword">static</span> <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">boost::string_ref::size_type</a> <a class="code" href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d">trashStart</a>( boost::string_ref code_r )</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  { <span class="keywordflow">return</span> code_r.find_first_of( <span class="stringliteral">"@."</span> ); }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#ab664b7ce7b7a202c7be6d11043fdffd5"> 120</a></span>  <span class="keyword">static</span> <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">boost::string_ref::size_type</a> <a class="code" href="structzypp_1_1CodeMaps.html#ab664b7ce7b7a202c7be6d11043fdffd5">trashStart</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> code_r )</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  { <span class="keywordflow">return</span> <a class="code" href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d">trashStart</a>( boost::string_ref(code_r.<a class="code" href="classzypp_1_1IdString.html#a1672c39ebd768ff4189d20cd59204ec1">c_str</a>()) ); }</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html"> 124</a></span>  <span class="keyword">struct </span><a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a> {</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html#a68462eaafc3b84b60bf686a8642a7d0c"> 125</a></span>  <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a68462eaafc3b84b60bf686a8642a7d0c">LC</a>() {}</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html#aeb20e78f1e1c6c0fa593e12e122c793c"> 126</a></span>  <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#aeb20e78f1e1c6c0fa593e12e122c793c">LC</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> l_r ) : <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a>( l_r ) {}</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html#aee075e8f6a946d2c72af264cd673cfcf"> 127</a></span>  <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#aee075e8f6a946d2c72af264cd673cfcf">LC</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> l_r, <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> c_r ) : <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a>( l_r ), <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a>( c_r ) {}</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88"> 128</a></span>  <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">_l</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e"> 129</a></span>  <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">_c</a>;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  };</div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a42ba7e7b03d1f412d90bc96f85243081"> 131</a></span>  <span class="keyword">typedef</span> std::unordered_map<IdString,LC> <a class="code" href="structzypp_1_1CodeMaps.html#a42ba7e7b03d1f412d90bc96f85243081">CodeMap</a>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a0411eef6bc3f53a0a60d1a6f7f4131ab"> 134</a></span>  <a class="code" href="structzypp_1_1CodeMaps.html#a0411eef6bc3f53a0a60d1a6f7f4131ab">CodeMaps</a>()</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  : <a class="code" href="CountryCode_8cc.html#a826756282bbad4934eea74b9d532d289">_codeMap</a>( { { <a class="code" href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">IdString::Null</a>, <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a>(<a class="code" href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">IdString::Null</a>), <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a>(<a class="code" href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">IdString::Null</a>) ) }</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  , { <a class="code" href="classzypp_1_1IdString.html#a980598f31f9cadd0bc399b354e337f42">IdString::Empty</a>, <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a>(<a class="code" href="classzypp_1_1IdString.html#a980598f31f9cadd0bc399b354e337f42">IdString::Empty</a>), <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a>(<a class="code" href="classzypp_1_1IdString.html#a980598f31f9cadd0bc399b354e337f42">IdString::Empty</a>) ) } } )</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {}</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28"> 140</a></span>  <span class="keyword">const</span> <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a> & <a class="code" href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">getIndex</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> index_r )</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keyword">auto</span> it = <a class="code" href="CountryCode_8cc.html#a826756282bbad4934eea74b9d532d289">_codeMap</a>.find( index_r );</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> ( it == <a class="code" href="CountryCode_8cc.html#a826756282bbad4934eea74b9d532d289">_codeMap</a>.end() )</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  CodeMap::value_type newval( index_r, <a class="code" href="structzypp_1_1CodeMaps_1_1LC.html">LC</a>() );</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  boost::string_ref <a class="code" href="namespacestr.html">str</a>( index_r.<a class="code" href="classzypp_1_1IdString.html#a1672c39ebd768ff4189d20cd59204ec1">c_str</a>() );</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="namespacezypp_1_1sat_1_1detail.html#ac0d3ca93132eee14b022898f23b49d07">boost::string_ref::size_type</a> sep = <a class="code" href="namespacestr.html">str</a>.find( <span class="charliteral">'_'</span> );</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span> ( sep == boost::string_ref::npos )</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  newval.second._l = <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a>( index_r );</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">else</span></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="comment">// bsc#1064999: dup! Creating a new IdString may invalidate the IdString.c_str() stored in str.</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  std::string dup( <a class="code" href="namespacestr.html">str</a> );</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="namespacestr.html">str</a> = dup;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  newval.second._l = <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a>(<a class="code" href="namespacestr.html">str</a>.substr( 0, sep )) );</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  newval.second._c = <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a>(<a class="code" href="namespacestr.html">str</a>.substr( sep+1 )) );</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</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>  it = <a class="code" href="CountryCode_8cc.html#a826756282bbad4934eea74b9d532d289">_codeMap</a>.insert( std::move(newval) ).first;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</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">private</span>:</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="structzypp_1_1CodeMaps.html#a862b9003a5e81482938f684d21c22e83"> 166</a></span>  <a class="code" href="structzypp_1_1CodeMaps.html#a42ba7e7b03d1f412d90bc96f85243081">CodeMap</a> <a class="code" href="structzypp_1_1CodeMaps.html#a862b9003a5e81482938f684d21c22e83">_codeMap</a>;</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> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// class Locale</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"></span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1Locale.html">Locale</a> <a class="code" href="classzypp_1_1Locale.html#a92f8092d4b84ea1de164f325c4991b6b">Locale::noCode</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> <a class="code" href="classzypp_1_1LanguageCode.html#a83775388505ee405fefe21e26afe3d0d">LanguageCode::enCode</a>(<span class="stringliteral">"en"</span>); <span class="comment">// from in LanguageCode.cc as Locale::enCode depends on it</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keyword">const</span> <a class="code" href="classzypp_1_1Locale.html">Locale</a> <a class="code" href="classzypp_1_1Locale.html#a50f74e55f966904bedc04e1bdfed26cb">Locale::enCode</a>( <a class="code" href="classzypp_1_1LanguageCode.html#a83775388505ee405fefe21e26afe3d0d">LanguageCode::enCode</a> );</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149"> 177</a></span>  <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale::Locale</a>()</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {}</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a1deb809f09cb933a4d18b296d7851ded"> 180</a></span>  <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale::Locale</a>( <a class="code" href="classzypp_1_1IdString.html">IdString</a> str_r )</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  : _str( CodeMaps::withoutTrash( str_r ) )</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {}</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a7bdf3d9ba14db1bf2b15af8d78b23057"> 184</a></span>  <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale::Locale</a>( <span class="keyword">const</span> std::string & str_r )</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  : _str( CodeMaps::withoutTrash( str_r ) )</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="l00188"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#aa3365d9edc6a87956394ad73372cdba1"> 188</a></span>  <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale::Locale</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * str_r )</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  : _str( CodeMaps::withoutTrash( str_r ) )</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {}</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#ae6a6ae039a8390e059543bae0d0e686e"> 192</a></span>  <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale::Locale</a>( <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> language_r, <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> country_r )</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  : _str( CodeMaps::combineLC( language_r, country_r ) )</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</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"><a class="line" href="classzypp_1_1Locale.html#ae72ffdb80a4fdbafe28089fd853217f1"> 196</a></span>  <a class="code" href="classzypp_1_1Locale.html#ae72ffdb80a4fdbafe28089fd853217f1">Locale::~Locale</a>()</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {}</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a81ff4cccb368879c90867219890053ab"> 199</a></span>  <a class="code" href="classzypp_1_1LanguageCode.html">LanguageCode</a> <a class="code" href="classzypp_1_1Locale.html#a81ff4cccb368879c90867219890053ab">Locale::language</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> CodeMaps::instance().language( <a class="code" href="classzypp_1_1Locale.html#ad9bd8f9df0e1ccd43318d41b4e3d031d">_str</a> ); }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a4ce5e7a98e2ab4d0d6d8330c88e7aea4"> 202</a></span>  <a class="code" href="classzypp_1_1CountryCode.html">CountryCode</a> <a class="code" href="classzypp_1_1Locale.html#a4ce5e7a98e2ab4d0d6d8330c88e7aea4">Locale::country</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> CodeMaps::instance().country( <a class="code" href="classzypp_1_1Locale.html#ad9bd8f9df0e1ccd43318d41b4e3d031d">_str</a> ); }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a5cb6323a74303c602be57fef18a22194"> 205</a></span>  std::string <a class="code" href="classzypp_1_1Locale.html#a5cb6323a74303c602be57fef18a22194">Locale::name</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> CodeMaps::instance().name( <a class="code" href="classzypp_1_1Locale.html#ad9bd8f9df0e1ccd43318d41b4e3d031d">_str</a> ); }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#a4120d65fb13e49f32c9ff30e83213557"> 208</a></span>  <a class="code" href="classzypp_1_1Locale.html">Locale</a> <a class="code" href="classzypp_1_1Locale.html#a4120d65fb13e49f32c9ff30e83213557">Locale::fallback</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> CodeMaps::instance().<a class="code" href="classzypp_1_1Locale.html#a4120d65fb13e49f32c9ff30e83213557">fallback</a>( <a class="code" href="classzypp_1_1Locale.html#ad9bd8f9df0e1ccd43318d41b4e3d031d">_str</a> ); }</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classzypp_1_1Locale.html#aeb978bf054c05d8f442cb19fc04b3a82"> 213</a></span>  <a class="code" href="classzypp_1_1Locale.html">Locale</a> <a class="code" href="classzypp_1_1Locale.html#aeb978bf054c05d8f442cb19fc04b3a82">Locale::bestMatch</a>( <span class="keyword">const</span> <a class="code" href="namespacezypp.html#a7f4c013fbe3bd2619b780e06c2c36c20">LocaleSet</a> & avLocales_r, <a class="code" href="classzypp_1_1Locale.html">Locale</a> requested_r )</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">if</span> ( ! avLocales_r.empty() )</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span> ( ! requested_r )</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  requested_r = <a class="code" href="classzypp_1_1ZConfig.html#a9b986f2c40a1aa9e1a2aea3d299210d1">ZConfig::instance</a>().<a class="code" href="classzypp_1_1ZConfig.html#a11d8da14e55983eb19f2da84771553ef">textLocale</a>();</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">for</span> ( ; requested_r; requested_r = requested_r.<a class="code" href="classzypp_1_1Locale.html#a4120d65fb13e49f32c9ff30e83213557">fallback</a>() )</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">if</span> ( avLocales_r.count( requested_r ) )</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> requested_r;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">return</span> <a class="code" href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">Locale</a>();</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> } <span class="comment">// namespace zypp</span></div><div class="ttc" id="classzypp_1_1Locale_html_a92f8092d4b84ea1de164f325c4991b6b"><div class="ttname"><a href="classzypp_1_1Locale.html#a92f8092d4b84ea1de164f325c4991b6b">zypp::Locale::noCode</a></div><div class="ttdeci">static const Locale noCode</div><div class="ttdoc">Empty code.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00074">Locale.h:74</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_a81ff4cccb368879c90867219890053ab"><div class="ttname"><a href="classzypp_1_1Locale.html#a81ff4cccb368879c90867219890053ab">zypp::Locale::language</a></div><div class="ttdeci">LanguageCode language() const</div><div class="ttdoc">The language part.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00199">Locale.cc:199</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_ab72abb297551f4ab1660440675e14f1f"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#ab72abb297551f4ab1660440675e14f1f">zypp::CodeMaps::combineLC</a></div><div class="ttdeci">static IdString combineLC(LanguageCode language_r, CountryCode country_r)</div><div class="ttdoc">Return IdString from language/country codes.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00044">Locale.cc:44</a></div></div> <div class="ttc" id="classzypp_1_1LanguageCode_html_a4bbb0fbdace241738642e754bd2b39ef"><div class="ttname"><a href="classzypp_1_1LanguageCode.html#a4bbb0fbdace241738642e754bd2b39ef">zypp::LanguageCode::name</a></div><div class="ttdeci">std::string name() const</div><div class="ttdoc">Return the translated language name; if unknown the language code.</div><div class="ttdef"><b>Definition:</b> <a href="LanguageCode_8cc_source.html#l00139">LanguageCode.cc:139</a></div></div> <div class="ttc" id="classzypp_1_1ZConfig_html_a9b986f2c40a1aa9e1a2aea3d299210d1"><div class="ttname"><a href="classzypp_1_1ZConfig.html#a9b986f2c40a1aa9e1a2aea3d299210d1">zypp::ZConfig::instance</a></div><div class="ttdeci">static ZConfig & instance()</div><div class="ttdoc">Singleton ctor.</div><div class="ttdef"><b>Definition:</b> <a href="solver_2detail_2Resolver_8cc_source.html#l00130">Resolver.cc:130</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_a50f74e55f966904bedc04e1bdfed26cb"><div class="ttname"><a href="classzypp_1_1Locale.html#a50f74e55f966904bedc04e1bdfed26cb">zypp::Locale::enCode</a></div><div class="ttdeci">static const Locale enCode</div><div class="ttdoc">Last resort "en".</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00077">Locale.h:77</a></div></div> <div class="ttc" id="classzypp_1_1ZConfig_html_a11d8da14e55983eb19f2da84771553ef"><div class="ttname"><a href="classzypp_1_1ZConfig.html#a11d8da14e55983eb19f2da84771553ef">zypp::ZConfig::textLocale</a></div><div class="ttdeci">Locale textLocale() const</div><div class="ttdoc">The locale for translated texts zypp uses.</div><div class="ttdef"><b>Definition:</b> <a href="ZConfig_8cc_source.html#l00868">ZConfig.cc:868</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a7b7e66f0e0377ad1e3d3bcd2a682db8e"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a7b7e66f0e0377ad1e3d3bcd2a682db8e">zypp::CodeMaps::withoutTrash</a></div><div class="ttdeci">static IdString withoutTrash(const char *code_r)</div><div class="ttdoc">Return IdString without trailing garbage.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00040">Locale.cc:40</a></div></div> <div class="ttc" id="classzypp_1_1LanguageCode_html_a83775388505ee405fefe21e26afe3d0d"><div class="ttname"><a href="classzypp_1_1LanguageCode.html#a83775388505ee405fefe21e26afe3d0d">zypp::LanguageCode::enCode</a></div><div class="ttdeci">static const LanguageCode enCode</div><div class="ttdoc">Last resort "en".</div><div class="ttdef"><b>Definition:</b> <a href="LanguageCode_8h_source.html#l00054">LanguageCode.h:54</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_ad6b083a627124f1c4f06f7063b13f149"><div class="ttname"><a href="classzypp_1_1Locale.html#ad6b083a627124f1c4f06f7063b13f149">zypp::Locale::Locale</a></div><div class="ttdeci">Locale()</div><div class="ttdoc">Default Ctor: noCode.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00177">Locale.cc:177</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_a5cb6323a74303c602be57fef18a22194"><div class="ttname"><a href="classzypp_1_1Locale.html#a5cb6323a74303c602be57fef18a22194">zypp::Locale::name</a></div><div class="ttdeci">std::string name() const</div><div class="ttdoc">Return the translated locale name.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00205">Locale.cc:205</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a42ba7e7b03d1f412d90bc96f85243081"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a42ba7e7b03d1f412d90bc96f85243081">zypp::CodeMaps::CodeMap</a></div><div class="ttdeci">std::unordered_map< IdString, LC > CodeMap</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00131">Locale.cc:131</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_a4120d65fb13e49f32c9ff30e83213557"><div class="ttname"><a href="classzypp_1_1Locale.html#a4120d65fb13e49f32c9ff30e83213557">zypp::Locale::fallback</a></div><div class="ttdeci">Locale fallback() const</div><div class="ttdoc">Return the fallback locale for this locale, if no fallback exists the empty Locale::noCode.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00208">Locale.cc:208</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a159f6f3c9582df92c4015ad4e69d884e"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a159f6f3c9582df92c4015ad4e69d884e">zypp::CodeMaps::language</a></div><div class="ttdeci">LanguageCode language(IdString index_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00072">Locale.cc:72</a></div></div> <div class="ttc" id="classzypp_1_1CountryCode_html_a1e410c34fdcb225c11d24de2669d7bb7"><div class="ttname"><a href="classzypp_1_1CountryCode.html#a1e410c34fdcb225c11d24de2669d7bb7">zypp::CountryCode::name</a></div><div class="ttdeci">std::string name() const</div><div class="ttdoc">Return the translated country name; if unknown the country code.</div><div class="ttdef"><b>Definition:</b> <a href="CountryCode_8cc_source.html#l00139">CountryCode.cc:139</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_1CodeMaps_html_a2efcd6eb7d0cb2a65aef0ee0a2a44fe4"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a2efcd6eb7d0cb2a65aef0ee0a2a44fe4">zypp::CodeMaps::fallback</a></div><div class="ttdeci">Locale fallback(IdString index_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00091">Locale.cc:91</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_ad9bd8f9df0e1ccd43318d41b4e3d031d"><div class="ttname"><a href="classzypp_1_1Locale.html#ad9bd8f9df0e1ccd43318d41b4e3d031d">zypp::Locale::_str</a></div><div class="ttdeci">IdString _str</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00112">Locale.h:112</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="structzypp_1_1CodeMaps_html_ab664b7ce7b7a202c7be6d11043fdffd5"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#ab664b7ce7b7a202c7be6d11043fdffd5">zypp::CodeMaps::trashStart</a></div><div class="ttdeci">static boost::string_ref::size_type trashStart(IdString code_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00120">Locale.cc:120</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_1_1LC_html"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html">zypp::CodeMaps::LC</a></div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00124">Locale.cc:124</a></div></div> <div class="ttc" id="Locale_8h_html"><div class="ttname"><a href="Locale_8h.html">Locale.h</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_1_1LC_html_a68462eaafc3b84b60bf686a8642a7d0c"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html#a68462eaafc3b84b60bf686a8642a7d0c">zypp::CodeMaps::LC::LC</a></div><div class="ttdeci">LC()</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00125">Locale.cc:125</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_aeb978bf054c05d8f442cb19fc04b3a82"><div class="ttname"><a href="classzypp_1_1Locale.html#aeb978bf054c05d8f442cb19fc04b3a82">zypp::Locale::bestMatch</a></div><div class="ttdeci">static Locale bestMatch(const LocaleSet &avLocales_r, Locale requested_r=Locale())</div><div class="ttdoc">Return the best match for Locale requested_r within the available avLocales_r.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00213">Locale.cc:213</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_a4ce5e7a98e2ab4d0d6d8330c88e7aea4"><div class="ttname"><a href="classzypp_1_1Locale.html#a4ce5e7a98e2ab4d0d6d8330c88e7aea4">zypp::Locale::country</a></div><div class="ttdeci">CountryCode country() const</div><div class="ttdoc">The county part.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00202">Locale.cc:202</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_ab7537e777d544a66ba409d104f55e38d"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#ab7537e777d544a66ba409d104f55e38d">zypp::CodeMaps::trashStart</a></div><div class="ttdeci">static boost::string_ref::size_type trashStart(boost::string_ref code_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00117">Locale.cc:117</a></div></div> <div class="ttc" id="classzypp_1_1IdString_html_a980598f31f9cadd0bc399b354e337f42"><div class="ttname"><a href="classzypp_1_1IdString.html#a980598f31f9cadd0bc399b354e337f42">zypp::IdString::Empty</a></div><div class="ttdeci">static const IdString Empty</div><div class="ttdoc">Empty string.</div><div class="ttdef"><b>Definition:</b> <a href="IdString_8h_source.html#l00070">IdString.h:70</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a7c539f9a54f3464082affaac5f1c2aeb"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a7c539f9a54f3464082affaac5f1c2aeb">zypp::CodeMaps::instance</a></div><div class="ttdeci">static CodeMaps & instance()</div><div class="ttdoc">The singleton.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00066">Locale.cc:66</a></div></div> <div class="ttc" id="ZConfig_8h_html"><div class="ttname"><a href="ZConfig_8h.html">ZConfig.h</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a913d658d5ababf21850489e49b35db8a"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a913d658d5ababf21850489e49b35db8a">zypp::CodeMaps::withoutTrash</a></div><div class="ttdeci">static IdString withoutTrash(IdString code_r)</div><div class="ttdoc">Return IdString without trailing garbage.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00027">Locale.cc:27</a></div></div> <div class="ttc" id="CountryCode_8cc_html_a826756282bbad4934eea74b9d532d289"><div class="ttname"><a href="CountryCode_8cc.html#a826756282bbad4934eea74b9d532d289">_codeMap</a></div><div class="ttdeci">CodeMap _codeMap</div><div class="ttdef"><b>Definition:</b> <a href="CountryCode_8cc_source.html#l00108">CountryCode.cc:108</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="structzypp_1_1CodeMaps_1_1LC_html_a9bde30510ad92bcb48f8368ca6c1cc88"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html#a9bde30510ad92bcb48f8368ca6c1cc88">zypp::CodeMaps::LC::_l</a></div><div class="ttdeci">LanguageCode _l</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00128">Locale.cc:128</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html"><div class="ttname"><a href="classzypp_1_1Locale.html">zypp::Locale</a></div><div class="ttdoc">'Language[_Country]' codes.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00049">Locale.h:49</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_1_1LC_html_aeb20e78f1e1c6c0fa593e12e122c793c"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html#aeb20e78f1e1c6c0fa593e12e122c793c">zypp::CodeMaps::LC::LC</a></div><div class="ttdeci">LC(LanguageCode l_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00126">Locale.cc:126</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_1_1LC_html_aee075e8f6a946d2c72af264cd673cfcf"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html#aee075e8f6a946d2c72af264cd673cfcf">zypp::CodeMaps::LC::LC</a></div><div class="ttdeci">LC(LanguageCode l_r, CountryCode c_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00127">Locale.cc:127</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a42f564334616ac44364a22896ea2ca66"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a42f564334616ac44364a22896ea2ca66">zypp::CodeMaps::country</a></div><div class="ttdeci">CountryCode country(IdString index_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00075">Locale.cc:75</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_ab12e10437970e81dfd74572c3baa7b3f"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#ab12e10437970e81dfd74572c3baa7b3f">zypp::CodeMaps::withoutTrash</a></div><div class="ttdeci">static IdString withoutTrash(const std::string &code_r)</div><div class="ttdoc">Return IdString without trailing garbage.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00036">Locale.cc:36</a></div></div> <div class="ttc" id="classzypp_1_1IdString_html_a8d8d8fc47a2dfc41b225062a7e292faa"><div class="ttname"><a href="classzypp_1_1IdString.html#a8d8d8fc47a2dfc41b225062a7e292faa">zypp::IdString::Null</a></div><div class="ttdeci">static const IdString Null</div><div class="ttdoc">No or Null string ( Id 0 ).</div><div class="ttdef"><b>Definition:</b> <a href="IdString_8h_source.html#l00067">IdString.h:67</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a41739b200c55bb0236731b637b7b6480"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a41739b200c55bb0236731b637b7b6480">zypp::CodeMaps::name</a></div><div class="ttdeci">std::string name(IdString index_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00078">Locale.cc:78</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a0411eef6bc3f53a0a60d1a6f7f4131ab"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a0411eef6bc3f53a0a60d1a6f7f4131ab">zypp::CodeMaps::CodeMaps</a></div><div class="ttdeci">CodeMaps()</div><div class="ttdoc">Ctor initializes the code maps.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00134">Locale.cc:134</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a764a11ad054dfb500339a1957992c054"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a764a11ad054dfb500339a1957992c054">zypp::CodeMaps::withoutTrash</a></div><div class="ttdeci">static IdString withoutTrash(boost::string_ref code_r)</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00109">Locale.cc:109</a></div></div> <div class="ttc" id="classzypp_1_1Locale_html_ae72ffdb80a4fdbafe28089fd853217f1"><div class="ttname"><a href="classzypp_1_1Locale.html#ae72ffdb80a4fdbafe28089fd853217f1">zypp::Locale::~Locale</a></div><div class="ttdeci">~Locale()</div><div class="ttdoc">Dtor.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00196">Locale.cc:196</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_1CodeMaps_html_ad39a08c369642241df15118128c83d28"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#ad39a08c369642241df15118128c83d28">zypp::CodeMaps::getIndex</a></div><div class="ttdeci">const LC & getIndex(IdString index_r)</div><div class="ttdoc">Return LC for index_r, creating it if necessary.</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00140">Locale.cc:140</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_1_1LC_html_a141305626b4bf48bf7bb45d90d06131e"><div class="ttname"><a href="structzypp_1_1CodeMaps_1_1LC.html#a141305626b4bf48bf7bb45d90d06131e">zypp::CodeMaps::LC::_c</a></div><div class="ttdeci">CountryCode _c</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00129">Locale.cc:129</a></div></div> <div class="ttc" id="namespacezypp_html_a7f4c013fbe3bd2619b780e06c2c36c20"><div class="ttname"><a href="namespacezypp.html#a7f4c013fbe3bd2619b780e06c2c36c20">zypp::LocaleSet</a></div><div class="ttdeci">std::unordered_set< Locale > LocaleSet</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8h_source.html#l00027">Locale.h:27</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="classzypp_1_1LanguageCode_html"><div class="ttname"><a href="classzypp_1_1LanguageCode.html">zypp::LanguageCode</a></div><div class="ttdoc">Language codes (iso639_2/iso639_1).</div><div class="ttdef"><b>Definition:</b> <a href="LanguageCode_8h_source.html#l00030">LanguageCode.h:30</a></div></div> <div class="ttc" id="classzypp_1_1CountryCode_html"><div class="ttname"><a href="classzypp_1_1CountryCode.html">zypp::CountryCode</a></div><div class="ttdoc">Country codes (iso3166-1-alpha-2).</div><div class="ttdef"><b>Definition:</b> <a href="CountryCode_8h_source.html#l00030">CountryCode.h:30</a></div></div> <div class="ttc" id="structzypp_1_1CodeMaps_html_a862b9003a5e81482938f684d21c22e83"><div class="ttname"><a href="structzypp_1_1CodeMaps.html#a862b9003a5e81482938f684d21c22e83">zypp::CodeMaps::_codeMap</a></div><div class="ttdeci">CodeMap _codeMap</div><div class="ttdef"><b>Definition:</b> <a href="Locale_8cc_source.html#l00166">Locale.cc:166</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="Locale_8cc.html">Locale.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>