1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns=
"http://www.w3.org/1999/xhtml">
4 <meta http-equiv=
"Content-Type" content=
"text/xhtml;charset=UTF-8"/>
5 <meta http-equiv=
"X-UA-Compatible" content=
"IE=9"/>
6 <meta name=
"generator" content=
"Doxygen 1.8.6"/>
7 <title>Boost.Locale: boost/locale/encoding.hpp Source File
</title>
8 <link href=
"tabs.css" rel=
"stylesheet" type=
"text/css"/>
9 <script type=
"text/javascript" src=
"jquery.js"></script>
10 <script type=
"text/javascript" src=
"dynsections.js"></script>
11 <link href=
"navtree.css" rel=
"stylesheet" type=
"text/css"/>
12 <script type=
"text/javascript" src=
"resize.js"></script>
13 <script type=
"text/javascript" src=
"navtree.js"></script>
14 <script type=
"text/javascript">
15 $(document).ready(initResizable);
16 $(window).load(resizeHeight);
18 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css" />
21 <div id=
"top"><!-- do not remove this div, it is closed by doxygen! -->
23 <table cellspacing=
"0" cellpadding=
"0">
25 <tr style=
"height: 56px;">
26 <td id=
"projectlogo"><img alt=
"Logo" src=
"boost-small.png"/></td>
27 <td style=
"padding-left: 0.5em;">
28 <div id=
"projectname">Boost.Locale
35 <!-- end header part -->
36 <!-- Generated by Doxygen 1.8.6 -->
37 <div id=
"navrow1" class=
"tabs">
39 <li><a href=
"index.html"><span>Main
 Page
</span></a></li>
40 <li><a href=
"pages.html"><span>Related
 Pages
</span></a></li>
41 <li><a href=
"modules.html"><span>Modules
</span></a></li>
42 <li><a href=
"namespaces.html"><span>Namespaces
</span></a></li>
43 <li><a href=
"annotated.html"><span>Classes
</span></a></li>
44 <li class=
"current"><a href=
"files.html"><span>Files
</span></a></li>
45 <li><a href=
"examples.html"><span>Examples
</span></a></li>
48 <div id=
"navrow2" class=
"tabs2">
50 <li><a href=
"files.html"><span>File
 List
</span></a></li>
54 <div id=
"side-nav" class=
"ui-resizable side-nav-resizable">
56 <div id=
"nav-tree-contents">
57 <div id=
"nav-sync" class=
"sync"></div>
60 <div id=
"splitbar" style=
"-moz-user-select:none;"
61 class=
"ui-resizable-handle">
64 <script type=
"text/javascript">
65 $(document).ready(function(){initNavTree('encoding_8hpp_source.html','');});
67 <div id=
"doc-content">
69 <div class=
"headertitle">
70 <div class=
"title">encoding.hpp
</div> </div>
72 <div class=
"contents">
73 <div class=
"fragment"><div class=
"line"><a name=
"l00001"></a><span class=
"lineno"> 1</span> <span class=
"comment">//
</span></div>
74 <div class=
"line"><a name=
"l00002"></a><span class=
"lineno"> 2</span> <span class=
"comment">// Copyright (c)
2009-
2011 Artyom Beilis (Tonkikh)
</span></div>
75 <div class=
"line"><a name=
"l00003"></a><span class=
"lineno"> 3</span> <span class=
"comment">//
</span></div>
76 <div class=
"line"><a name=
"l00004"></a><span class=
"lineno"> 4</span> <span class=
"comment">// Distributed under the Boost Software License, Version
1.0. (See
</span></div>
77 <div class=
"line"><a name=
"l00005"></a><span class=
"lineno"> 5</span> <span class=
"comment">// accompanying file LICENSE_1_0.txt or copy at
</span></div>
78 <div class=
"line"><a name=
"l00006"></a><span class=
"lineno"> 6</span> <span class=
"comment">// http://www.boost.org/LICENSE_1_0.txt)
</span></div>
79 <div class=
"line"><a name=
"l00007"></a><span class=
"lineno"> 7</span> <span class=
"comment">//
</span></div>
80 <div class=
"line"><a name=
"l00008"></a><span class=
"lineno"> 8</span> <span class=
"preprocessor">#ifndef BOOST_LOCALE_ENCODING_HPP_INCLUDED
</span></div>
81 <div class=
"line"><a name=
"l00009"></a><span class=
"lineno"> 9</span> <span class=
"preprocessor"></span><span class=
"preprocessor">#define BOOST_LOCALE_ENCODING_HPP_INCLUDED
</span></div>
82 <div class=
"line"><a name=
"l00010"></a><span class=
"lineno"> 10</span> <span class=
"preprocessor"></span></div>
83 <div class=
"line"><a name=
"l00011"></a><span class=
"lineno"> 11</span> <span class=
"preprocessor">#include
<boost/locale/config.hpp
></span></div>
84 <div class=
"line"><a name=
"l00012"></a><span class=
"lineno"> 12</span> <span class=
"preprocessor">#ifdef BOOST_MSVC
</span></div>
85 <div class=
"line"><a name=
"l00013"></a><span class=
"lineno"> 13</span> <span class=
"preprocessor"></span><span class=
"preprocessor"># pragma warning(push)
</span></div>
86 <div class=
"line"><a name=
"l00014"></a><span class=
"lineno"> 14</span> <span class=
"preprocessor"></span><span class=
"preprocessor"># pragma warning(disable :
4275 4251 4231 4660)
</span></div>
87 <div class=
"line"><a name=
"l00015"></a><span class=
"lineno"> 15</span> <span class=
"preprocessor"></span><span class=
"preprocessor">#endif
</span></div>
88 <div class=
"line"><a name=
"l00016"></a><span class=
"lineno"> 16</span> <span class=
"preprocessor"></span><span class=
"preprocessor">#include
<boost/locale/info.hpp
></span></div>
89 <div class=
"line"><a name=
"l00017"></a><span class=
"lineno"> 17</span> <span class=
"preprocessor">#include
<boost/locale/encoding_errors.hpp
></span></div>
90 <div class=
"line"><a name=
"l00018"></a><span class=
"lineno"> 18</span> <span class=
"preprocessor">#include
<boost/locale/encoding_utf.hpp
></span></div>
91 <div class=
"line"><a name=
"l00019"></a><span class=
"lineno"> 19</span> </div>
92 <div class=
"line"><a name=
"l00020"></a><span class=
"lineno"> 20</span> </div>
93 <div class=
"line"><a name=
"l00021"></a><span class=
"lineno"> 21</span> </div>
94 <div class=
"line"><a name=
"l00022"></a><span class=
"lineno"> 22</span> <span class=
"keyword">namespace
</span>boost {
</div>
95 <div class=
"line"><a name=
"l00023"></a><span class=
"lineno"> 23</span>  <span class=
"keyword">namespace
</span>locale {
</div>
96 <div class=
"line"><a name=
"l00024"></a><span class=
"lineno"> 24</span> </div>
97 <div class=
"line"><a name=
"l00028"></a><span class=
"lineno"><a class=
"line" href=
"namespaceboost_1_1locale_1_1conv.html"> 28</a></span>  <span class=
"keyword">namespace
</span>conv {
</div>
98 <div class=
"line"><a name=
"l00033"></a><span class=
"lineno"> 33</span> </div>
99 <div class=
"line"><a name=
"l00037"></a><span class=
"lineno"> 37</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
100 <div class=
"line"><a name=
"l00038"></a><span class=
"lineno"> 38</span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>);
</div>
101 <div class=
"line"><a name=
"l00039"></a><span class=
"lineno"> 39</span> </div>
102 <div class=
"line"><a name=
"l00043"></a><span class=
"lineno"> 43</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
103 <div class=
"line"><a name=
"l00044"></a><span class=
"lineno"> 44</span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(CharType
<span class=
"keyword">const
</span> *begin,CharType
<span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>);
</div>
104 <div class=
"line"><a name=
"l00045"></a><span class=
"lineno"> 45</span> </div>
105 <div class=
"line"><a name=
"l00051"></a><span class=
"lineno"> 51</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
106 <div class=
"line"><a name=
"l00052"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga5ae3d72f015dc847ddfd688a0a40ff66"> 52</a></span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
107 <div class=
"line"><a name=
"l00053"></a><span class=
"lineno"> 53</span>  {
</div>
108 <div class=
"line"><a name=
"l00054"></a><span class=
"lineno"> 54</span>  <span class=
"keywordflow">return
</span> to_utf
<CharType
>(begin,end,std::use_facet
<info
>(loc).encoding(),how);
</div>
109 <div class=
"line"><a name=
"l00055"></a><span class=
"lineno"> 55</span>  }
</div>
110 <div class=
"line"><a name=
"l00056"></a><span class=
"lineno"> 56</span> </div>
111 <div class=
"line"><a name=
"l00062"></a><span class=
"lineno"> 62</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
112 <div class=
"line"><a name=
"l00063"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga0eee2960f0d6d15491c5b95dd3054d9a"> 63</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(CharType
<span class=
"keyword">const
</span> *begin,CharType
<span class=
"keyword">const
</span> *end,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
113 <div class=
"line"><a name=
"l00064"></a><span class=
"lineno"> 64</span>  {
</div>
114 <div class=
"line"><a name=
"l00065"></a><span class=
"lineno"> 65</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(begin,end,std::use_facet
<info
>(loc).encoding(),how);
</div>
115 <div class=
"line"><a name=
"l00066"></a><span class=
"lineno"> 66</span>  }
</div>
116 <div class=
"line"><a name=
"l00067"></a><span class=
"lineno"> 67</span> </div>
117 <div class=
"line"><a name=
"l00071"></a><span class=
"lineno"> 71</span>  </div>
118 <div class=
"line"><a name=
"l00072"></a><span class=
"lineno"> 72</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
119 <div class=
"line"><a name=
"l00073"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga25227e4e43f6c695dac13844a94741ea"> 73</a></span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(std::string
<span class=
"keyword">const
</span> &text,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
120 <div class=
"line"><a name=
"l00074"></a><span class=
"lineno"> 74</span>  {
</div>
121 <div class=
"line"><a name=
"l00075"></a><span class=
"lineno"> 75</span>  <span class=
"keywordflow">return
</span> to_utf
<CharType
>(text.c_str(),text.c_str()+text.size(),charset,how);
</div>
122 <div class=
"line"><a name=
"l00076"></a><span class=
"lineno"> 76</span>  }
</div>
123 <div class=
"line"><a name=
"l00077"></a><span class=
"lineno"> 77</span> </div>
124 <div class=
"line"><a name=
"l00081"></a><span class=
"lineno"> 81</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
125 <div class=
"line"><a name=
"l00082"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga17c2c9d8659281848db73822fcc38092"> 82</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(std::basic_string
<CharType
> <span class=
"keyword">const
</span> &text,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
126 <div class=
"line"><a name=
"l00083"></a><span class=
"lineno"> 83</span>  {
</div>
127 <div class=
"line"><a name=
"l00084"></a><span class=
"lineno"> 84</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(text.c_str(),text.c_str()+text.size(),charset,how);
</div>
128 <div class=
"line"><a name=
"l00085"></a><span class=
"lineno"> 85</span>  }
</div>
129 <div class=
"line"><a name=
"l00086"></a><span class=
"lineno"> 86</span> </div>
130 <div class=
"line"><a name=
"l00090"></a><span class=
"lineno"> 90</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
131 <div class=
"line"><a name=
"l00091"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga2be733c3e2028aa43e4b35100bdb1322"> 91</a></span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *text,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
132 <div class=
"line"><a name=
"l00092"></a><span class=
"lineno"> 92</span>  {
</div>
133 <div class=
"line"><a name=
"l00093"></a><span class=
"lineno"> 93</span>  <span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *text_end = text;
</div>
134 <div class=
"line"><a name=
"l00094"></a><span class=
"lineno"> 94</span>  <span class=
"keywordflow">while
</span>(*text_end)
</div>
135 <div class=
"line"><a name=
"l00095"></a><span class=
"lineno"> 95</span>  text_end++;
</div>
136 <div class=
"line"><a name=
"l00096"></a><span class=
"lineno"> 96</span>  <span class=
"keywordflow">return
</span> to_utf
<CharType
>(text,text_end,charset,how);
</div>
137 <div class=
"line"><a name=
"l00097"></a><span class=
"lineno"> 97</span>  }
</div>
138 <div class=
"line"><a name=
"l00098"></a><span class=
"lineno"> 98</span> </div>
139 <div class=
"line"><a name=
"l00102"></a><span class=
"lineno"> 102</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
140 <div class=
"line"><a name=
"l00103"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#gab784637ee28adb9538b8002dadf0b273"> 103</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(CharType
<span class=
"keyword">const
</span> *text,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
141 <div class=
"line"><a name=
"l00104"></a><span class=
"lineno"> 104</span>  {
</div>
142 <div class=
"line"><a name=
"l00105"></a><span class=
"lineno"> 105</span>  CharType
<span class=
"keyword">const
</span> *text_end = text;
</div>
143 <div class=
"line"><a name=
"l00106"></a><span class=
"lineno"> 106</span>  <span class=
"keywordflow">while
</span>(*text_end)
</div>
144 <div class=
"line"><a name=
"l00107"></a><span class=
"lineno"> 107</span>  text_end++;
</div>
145 <div class=
"line"><a name=
"l00108"></a><span class=
"lineno"> 108</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(text,text_end,charset,how);
</div>
146 <div class=
"line"><a name=
"l00109"></a><span class=
"lineno"> 109</span>  }
</div>
147 <div class=
"line"><a name=
"l00110"></a><span class=
"lineno"> 110</span> </div>
148 <div class=
"line"><a name=
"l00116"></a><span class=
"lineno"> 116</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
149 <div class=
"line"><a name=
"l00117"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga4c22a2bcb97338274752f95e2d265442"> 117</a></span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(std::string
<span class=
"keyword">const
</span> &text,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
150 <div class=
"line"><a name=
"l00118"></a><span class=
"lineno"> 118</span>  {
</div>
151 <div class=
"line"><a name=
"l00119"></a><span class=
"lineno"> 119</span>  <span class=
"keywordflow">return
</span> to_utf
<CharType
>(text.c_str(),text.c_str()+text.size(),loc,how);
</div>
152 <div class=
"line"><a name=
"l00120"></a><span class=
"lineno"> 120</span>  }
</div>
153 <div class=
"line"><a name=
"l00121"></a><span class=
"lineno"> 121</span> </div>
154 <div class=
"line"><a name=
"l00127"></a><span class=
"lineno"> 127</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
155 <div class=
"line"><a name=
"l00128"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga85cc81b352a88e12191926b95eb39aeb"> 128</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(std::basic_string
<CharType
> <span class=
"keyword">const
</span> &text,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
156 <div class=
"line"><a name=
"l00129"></a><span class=
"lineno"> 129</span>  {
</div>
157 <div class=
"line"><a name=
"l00130"></a><span class=
"lineno"> 130</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(text.c_str(),text.c_str()+text.size(),loc,how);
</div>
158 <div class=
"line"><a name=
"l00131"></a><span class=
"lineno"> 131</span>  }
</div>
159 <div class=
"line"><a name=
"l00132"></a><span class=
"lineno"> 132</span> </div>
160 <div class=
"line"><a name=
"l00138"></a><span class=
"lineno"> 138</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
161 <div class=
"line"><a name=
"l00139"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#gac298fcddef144915332f031f4565feb0"> 139</a></span>  std::basic_string
<CharType
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *text,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
162 <div class=
"line"><a name=
"l00140"></a><span class=
"lineno"> 140</span>  {
</div>
163 <div class=
"line"><a name=
"l00141"></a><span class=
"lineno"> 141</span>  <span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *text_end = text;
</div>
164 <div class=
"line"><a name=
"l00142"></a><span class=
"lineno"> 142</span>  <span class=
"keywordflow">while
</span>(*text_end)
</div>
165 <div class=
"line"><a name=
"l00143"></a><span class=
"lineno"> 143</span>  text_end++;
</div>
166 <div class=
"line"><a name=
"l00144"></a><span class=
"lineno"> 144</span>  <span class=
"keywordflow">return
</span> to_utf
<CharType
>(text,text_end,loc,how);
</div>
167 <div class=
"line"><a name=
"l00145"></a><span class=
"lineno"> 145</span>  }
</div>
168 <div class=
"line"><a name=
"l00146"></a><span class=
"lineno"> 146</span> </div>
169 <div class=
"line"><a name=
"l00152"></a><span class=
"lineno"> 152</span>  <span class=
"keyword">template
</span><<span class=
"keyword">typename
</span> CharType
></div>
170 <div class=
"line"><a name=
"l00153"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga2a41ad85803d97f7e1906d5c0561eefa"> 153</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(CharType
<span class=
"keyword">const
</span> *text,std::locale
<span class=
"keyword">const
</span> &loc,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
171 <div class=
"line"><a name=
"l00154"></a><span class=
"lineno"> 154</span>  {
</div>
172 <div class=
"line"><a name=
"l00155"></a><span class=
"lineno"> 155</span>  CharType
<span class=
"keyword">const
</span> *text_end = text;
</div>
173 <div class=
"line"><a name=
"l00156"></a><span class=
"lineno"> 156</span>  <span class=
"keywordflow">while
</span>(*text_end)
</div>
174 <div class=
"line"><a name=
"l00157"></a><span class=
"lineno"> 157</span>  text_end++;
</div>
175 <div class=
"line"><a name=
"l00158"></a><span class=
"lineno"> 158</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(text,text_end,loc,how);
</div>
176 <div class=
"line"><a name=
"l00159"></a><span class=
"lineno"> 159</span>  }
</div>
177 <div class=
"line"><a name=
"l00160"></a><span class=
"lineno"> 160</span> </div>
178 <div class=
"line"><a name=
"l00161"></a><span class=
"lineno"> 161</span> </div>
179 <div class=
"line"><a name=
"l00165"></a><span class=
"lineno"> 165</span>  </div>
180 <div class=
"line"><a name=
"l00166"></a><span class=
"lineno"> 166</span>  BOOST_LOCALE_DECL
</div>
181 <div class=
"line"><a name=
"l00167"></a><span class=
"lineno"> 167</span>  std::string
<a class=
"code" href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
</div>
182 <div class=
"line"><a name=
"l00168"></a><span class=
"lineno"> 168</span>  <span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,
</div>
183 <div class=
"line"><a name=
"l00169"></a><span class=
"lineno"> 169</span>  std::string
<span class=
"keyword">const
</span> &to_encoding,
</div>
184 <div class=
"line"><a name=
"l00170"></a><span class=
"lineno"> 170</span>  std::string
<span class=
"keyword">const
</span> &from_encoding,
</div>
185 <div class=
"line"><a name=
"l00171"></a><span class=
"lineno"> 171</span>  <a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>);
</div>
186 <div class=
"line"><a name=
"l00172"></a><span class=
"lineno"> 172</span> </div>
187 <div class=
"line"><a name=
"l00176"></a><span class=
"lineno"> 176</span>  </div>
188 <div class=
"line"><a name=
"l00177"></a><span class=
"lineno"> 177</span>  <span class=
"keyword">inline
</span></div>
189 <div class=
"line"><a name=
"l00178"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#ga612607a8616add30cf21ceb086e664d5"> 178</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *text,
</div>
190 <div class=
"line"><a name=
"l00179"></a><span class=
"lineno"> 179</span>  std::string
<span class=
"keyword">const
</span> &to_encoding,
</div>
191 <div class=
"line"><a name=
"l00180"></a><span class=
"lineno"> 180</span>  std::string
<span class=
"keyword">const
</span> &from_encoding,
</div>
192 <div class=
"line"><a name=
"l00181"></a><span class=
"lineno"> 181</span>  <a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
193 <div class=
"line"><a name=
"l00182"></a><span class=
"lineno"> 182</span>  {
</div>
194 <div class=
"line"><a name=
"l00183"></a><span class=
"lineno"> 183</span>  <span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end=text;
</div>
195 <div class=
"line"><a name=
"l00184"></a><span class=
"lineno"> 184</span>  <span class=
"keywordflow">while
</span>(*end)
</div>
196 <div class=
"line"><a name=
"l00185"></a><span class=
"lineno"> 185</span>  end++;
</div>
197 <div class=
"line"><a name=
"l00186"></a><span class=
"lineno"> 186</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">boost::locale::conv::between
</a>(text,end,to_encoding,from_encoding,how);
</div>
198 <div class=
"line"><a name=
"l00187"></a><span class=
"lineno"> 187</span>  }
</div>
199 <div class=
"line"><a name=
"l00188"></a><span class=
"lineno"> 188</span> </div>
200 <div class=
"line"><a name=
"l00192"></a><span class=
"lineno"> 192</span>  <span class=
"keyword">inline
</span></div>
201 <div class=
"line"><a name=
"l00193"></a><span class=
"lineno"><a class=
"line" href=
"group__codepage.html#gad7f6c33cf95749ab48174ccafddf7b62"> 193</a></span>  std::string
<a class=
"code" href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between
</a>(std::string
<span class=
"keyword">const
</span> &text,
</div>
202 <div class=
"line"><a name=
"l00194"></a><span class=
"lineno"> 194</span>  std::string
<span class=
"keyword">const
</span> &to_encoding,
</div>
203 <div class=
"line"><a name=
"l00195"></a><span class=
"lineno"> 195</span>  std::string
<span class=
"keyword">const
</span> &from_encoding,
</div>
204 <div class=
"line"><a name=
"l00196"></a><span class=
"lineno"> 196</span>  <a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how=
<a class=
"code" href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">default_method
</a>)
</div>
205 <div class=
"line"><a name=
"l00197"></a><span class=
"lineno"> 197</span>  {
</div>
206 <div class=
"line"><a name=
"l00198"></a><span class=
"lineno"> 198</span>  <span class=
"keywordflow">return
</span> <a class=
"code" href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">boost::locale::conv::between
</a>(text.c_str(),text.c_str()+text.size(),to_encoding,from_encoding,how);
</div>
207 <div class=
"line"><a name=
"l00199"></a><span class=
"lineno"> 199</span>  }
</div>
208 <div class=
"line"><a name=
"l00200"></a><span class=
"lineno"> 200</span>  </div>
209 <div class=
"line"><a name=
"l00202"></a><span class=
"lineno"> 202</span> </div>
210 <div class=
"line"><a name=
"l00203"></a><span class=
"lineno"> 203</span>  <span class=
"keyword">template
</span><></div>
211 <div class=
"line"><a name=
"l00204"></a><span class=
"lineno"> 204</span>  BOOST_LOCALE_DECL std::basic_string
<char
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
212 <div class=
"line"><a name=
"l00205"></a><span class=
"lineno"> 205</span> </div>
213 <div class=
"line"><a name=
"l00206"></a><span class=
"lineno"> 206</span>  <span class=
"keyword">template
</span><></div>
214 <div class=
"line"><a name=
"l00207"></a><span class=
"lineno"> 207</span>  BOOST_LOCALE_DECL std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
215 <div class=
"line"><a name=
"l00208"></a><span class=
"lineno"> 208</span> </div>
216 <div class=
"line"><a name=
"l00209"></a><span class=
"lineno"> 209</span>  <span class=
"keyword">template
</span><></div>
217 <div class=
"line"><a name=
"l00210"></a><span class=
"lineno"> 210</span>  BOOST_LOCALE_DECL std::basic_string
<wchar_t
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
218 <div class=
"line"><a name=
"l00211"></a><span class=
"lineno"> 211</span> </div>
219 <div class=
"line"><a name=
"l00212"></a><span class=
"lineno"> 212</span>  <span class=
"keyword">template
</span><></div>
220 <div class=
"line"><a name=
"l00213"></a><span class=
"lineno"> 213</span>  BOOST_LOCALE_DECL std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(
<span class=
"keywordtype">wchar_t
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">wchar_t
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
221 <div class=
"line"><a name=
"l00214"></a><span class=
"lineno"> 214</span> </div>
222 <div class=
"line"><a name=
"l00215"></a><span class=
"lineno"> 215</span> <span class=
"preprocessor"> #ifdef BOOST_LOCALE_ENABLE_CHAR16_T
</span></div>
223 <div class=
"line"><a name=
"l00216"></a><span class=
"lineno"> 216</span> <span class=
"preprocessor"></span> <span class=
"keyword">template
</span><></div>
224 <div class=
"line"><a name=
"l00217"></a><span class=
"lineno"> 217</span>  BOOST_LOCALE_DECL std::basic_string
<char16_t
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
225 <div class=
"line"><a name=
"l00218"></a><span class=
"lineno"> 218</span> </div>
226 <div class=
"line"><a name=
"l00219"></a><span class=
"lineno"> 219</span>  <span class=
"keyword">template
</span><></div>
227 <div class=
"line"><a name=
"l00220"></a><span class=
"lineno"> 220</span>  BOOST_LOCALE_DECL std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(char16_t
<span class=
"keyword">const
</span> *begin,char16_t
<span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
228 <div class=
"line"><a name=
"l00221"></a><span class=
"lineno"> 221</span> <span class=
"preprocessor"> #endif
</span></div>
229 <div class=
"line"><a name=
"l00222"></a><span class=
"lineno"> 222</span> <span class=
"preprocessor"></span></div>
230 <div class=
"line"><a name=
"l00223"></a><span class=
"lineno"> 223</span> <span class=
"preprocessor"> #ifdef BOOST_LOCALE_ENABLE_CHAR32_T
</span></div>
231 <div class=
"line"><a name=
"l00224"></a><span class=
"lineno"> 224</span> <span class=
"preprocessor"></span> <span class=
"keyword">template
</span><></div>
232 <div class=
"line"><a name=
"l00225"></a><span class=
"lineno"> 225</span>  BOOST_LOCALE_DECL std::basic_string
<char32_t
> <a class=
"code" href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf
</a>(
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *begin,
<span class=
"keywordtype">char
</span> <span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
233 <div class=
"line"><a name=
"l00226"></a><span class=
"lineno"> 226</span> </div>
234 <div class=
"line"><a name=
"l00227"></a><span class=
"lineno"> 227</span>  <span class=
"keyword">template
</span><></div>
235 <div class=
"line"><a name=
"l00228"></a><span class=
"lineno"> 228</span>  BOOST_LOCALE_DECL std::string
<a class=
"code" href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf
</a>(char32_t
<span class=
"keyword">const
</span> *begin,char32_t
<span class=
"keyword">const
</span> *end,std::string
<span class=
"keyword">const
</span> &charset,
<a class=
"code" href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type
</a> how);
</div>
236 <div class=
"line"><a name=
"l00229"></a><span class=
"lineno"> 229</span> <span class=
"preprocessor"> #endif
</span></div>
237 <div class=
"line"><a name=
"l00230"></a><span class=
"lineno"> 230</span> <span class=
"preprocessor"></span></div>
238 <div class=
"line"><a name=
"l00231"></a><span class=
"lineno"> 231</span> </div>
239 <div class=
"line"><a name=
"l00233"></a><span class=
"lineno"> 233</span> </div>
240 <div class=
"line"><a name=
"l00235"></a><span class=
"lineno"> 235</span> </div>
241 <div class=
"line"><a name=
"l00236"></a><span class=
"lineno"> 236</span>  }
<span class=
"comment">// conv
</span></div>
242 <div class=
"line"><a name=
"l00237"></a><span class=
"lineno"> 237</span> </div>
243 <div class=
"line"><a name=
"l00238"></a><span class=
"lineno"> 238</span>  }
<span class=
"comment">// locale
</span></div>
244 <div class=
"line"><a name=
"l00239"></a><span class=
"lineno"> 239</span> }
<span class=
"comment">// boost
</span></div>
245 <div class=
"line"><a name=
"l00240"></a><span class=
"lineno"> 240</span> </div>
246 <div class=
"line"><a name=
"l00241"></a><span class=
"lineno"> 241</span> <span class=
"preprocessor">#ifdef BOOST_MSVC
</span></div>
247 <div class=
"line"><a name=
"l00242"></a><span class=
"lineno"> 242</span> <span class=
"preprocessor"></span><span class=
"preprocessor">#pragma warning(pop)
</span></div>
248 <div class=
"line"><a name=
"l00243"></a><span class=
"lineno"> 243</span> <span class=
"preprocessor"></span><span class=
"preprocessor">#endif
</span></div>
249 <div class=
"line"><a name=
"l00244"></a><span class=
"lineno"> 244</span> <span class=
"preprocessor"></span></div>
250 <div class=
"line"><a name=
"l00245"></a><span class=
"lineno"> 245</span> <span class=
"preprocessor">#endif
</span></div>
251 <div class=
"line"><a name=
"l00246"></a><span class=
"lineno"> 246</span> <span class=
"preprocessor"></span></div>
252 <div class=
"line"><a name=
"l00247"></a><span class=
"lineno"> 247</span> <span class=
"comment">// vim: tabstop=
4 expandtab shiftwidth=
4 softtabstop=
4</span></div>
253 <div class=
"line"><a name=
"l00248"></a><span class=
"lineno"> 248</span> </div>
254 <div class=
"ttc" id=
"group__codepage_html_gaef8fb7771dce60511d081770547a4139"><div class=
"ttname"><a href=
"group__codepage.html#gaef8fb7771dce60511d081770547a4139">boost::locale::conv::from_utf
</a></div><div class=
"ttdeci">std::string from_utf(CharType const *begin, CharType const *end, std::string const
&charset, method_type how=default_method)
</div></div>
255 <div class=
"ttc" id=
"group__codepage_html_ga2ca59a735ca28c9d5103e37ef2373ca1"><div class=
"ttname"><a href=
"group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">boost::locale::conv::to_utf
</a></div><div class=
"ttdeci">std::basic_string
< CharType
> to_utf(char const *begin, char const *end, std::string const
&charset, method_type how=default_method)
</div></div>
256 <div class=
"ttc" id=
"group__codepage_html_gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559"><div class=
"ttname"><a href=
"group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559">boost::locale::conv::default_method
</a></div><div class=
"ttdoc">Default method - skip.
</div><div class=
"ttdef"><b>Definition:
</b> encoding_errors.hpp:
57</div></div>
257 <div class=
"ttc" id=
"group__codepage_html_ga7eda9058b8cbac9b05886bcc894faeff"><div class=
"ttname"><a href=
"group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">boost::locale::conv::between
</a></div><div class=
"ttdeci">std::string between(char const *begin, char const *end, std::string const
&to_encoding, std::string const
&from_encoding, method_type how=default_method)
</div></div>
258 <div class=
"ttc" id=
"group__codepage_html_ga8e3c5a274f57107ec5745e227c26ba84"><div class=
"ttname"><a href=
"group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">boost::locale::conv::method_type
</a></div><div class=
"ttdeci">method_type
</div><div class=
"ttdef"><b>Definition:
</b> encoding_errors.hpp:
54</div></div>
259 </div><!-- fragment --></div><!-- contents -->
260 </div><!-- doc-content -->
263 © Copyright
2009-
2012 Artyom Beilis, Distributed under the
<a href=
"http://www.boost.org/LICENSE_1_0.txt">Boost Software License
</a>, Version
1.0.