blob: 552bfb14437aab3f6b1852ee86c59d8693d1e7f5 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>Boost.Locale: boost/locale/encoding.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="boost-small.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Boost.Locale
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
</ul>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('encoding_8hpp.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">boost/locale/encoding.hpp</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// Copyright (c) 2009-2011 Artyom Beilis (Tonkikh)</span>
<a name="l00003"></a>00003 <span class="comment">//</span>
<a name="l00004"></a>00004 <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span>
<a name="l00005"></a>00005 <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span>
<a name="l00006"></a>00006 <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008 <span class="preprocessor">#ifndef BOOST_LOCALE_ENCODING_HPP_INCLUDED</span>
<a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define BOOST_LOCALE_ENCODING_HPP_INCLUDED</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;boost/locale/config.hpp&gt;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#ifdef BOOST_MSVC</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor"># pragma warning(push)</span>
<a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor"># pragma warning(disable : 4275 4251 4231 4660)</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#include &lt;boost/locale/info.hpp&gt;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;boost/locale/encoding_errors.hpp&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;boost/locale/encoding_utf.hpp&gt;</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021
<a name="l00022"></a>00022 <span class="keyword">namespace </span>boost {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>locale {
<a name="l00024"></a>00024
<a name="l00028"></a><a class="code" href="namespaceboost_1_1locale_1_1conv.html">00028</a> <span class="keyword">namespace </span>conv {
<a name="l00033"></a>00033
<a name="l00037"></a>00037 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00038"></a>00038 std::basic_string&lt;CharType&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>);
<a name="l00039"></a>00039
<a name="l00043"></a>00043 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00044"></a>00044 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>);
<a name="l00045"></a>00045
<a name="l00051"></a>00051 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00052"></a><a class="code" href="group__codepage.html#ga5ae3d72f015dc847ddfd688a0a40ff66">00052</a> std::basic_string&lt;CharType&gt; <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> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00053"></a>00053 {
<a name="l00054"></a>00054 <span class="keywordflow">return</span> to_utf&lt;CharType&gt;(begin,end,std::use_facet&lt;info&gt;(loc).encoding(),how);
<a name="l00055"></a>00055 }
<a name="l00056"></a>00056
<a name="l00062"></a>00062 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00063"></a><a class="code" href="group__codepage.html#ga0eee2960f0d6d15491c5b95dd3054d9a">00063</a> 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> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065 <span class="keywordflow">return</span> <a class="code" href="group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf</a>(begin,end,std::use_facet&lt;info&gt;(loc).encoding(),how);
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067
<a name="l00071"></a>00071
<a name="l00072"></a>00072 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00073"></a><a class="code" href="group__codepage.html#ga25227e4e43f6c695dac13844a94741ea">00073</a> std::basic_string&lt;CharType&gt; <a class="code" href="group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf</a>(std::string <span class="keyword">const</span> &amp;text,std::string <span class="keyword">const</span> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00074"></a>00074 {
<a name="l00075"></a>00075 <span class="keywordflow">return</span> to_utf&lt;CharType&gt;(text.c_str(),text.c_str()+text.size(),charset,how);
<a name="l00076"></a>00076 }
<a name="l00077"></a>00077
<a name="l00081"></a>00081 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00082"></a><a class="code" href="group__codepage.html#ga17c2c9d8659281848db73822fcc38092">00082</a> std::string <a class="code" href="group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf</a>(std::basic_string&lt;CharType&gt; <span class="keyword">const</span> &amp;text,std::string <span class="keyword">const</span> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00083"></a>00083 {
<a name="l00084"></a>00084 <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);
<a name="l00085"></a>00085 }
<a name="l00086"></a>00086
<a name="l00090"></a>00090 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00091"></a><a class="code" href="group__codepage.html#ga2be733c3e2028aa43e4b35100bdb1322">00091</a> std::basic_string&lt;CharType&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00092"></a>00092 {
<a name="l00093"></a>00093 <span class="keywordtype">char</span> <span class="keyword">const</span> *text_end = text;
<a name="l00094"></a>00094 <span class="keywordflow">while</span>(*text_end)
<a name="l00095"></a>00095 text_end++;
<a name="l00096"></a>00096 <span class="keywordflow">return</span> to_utf&lt;CharType&gt;(text,text_end,charset,how);
<a name="l00097"></a>00097 }
<a name="l00098"></a>00098
<a name="l00102"></a>00102 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00103"></a><a class="code" href="group__codepage.html#gab784637ee28adb9538b8002dadf0b273">00103</a> 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00104"></a>00104 {
<a name="l00105"></a>00105 CharType <span class="keyword">const</span> *text_end = text;
<a name="l00106"></a>00106 <span class="keywordflow">while</span>(*text_end)
<a name="l00107"></a>00107 text_end++;
<a name="l00108"></a>00108 <span class="keywordflow">return</span> <a class="code" href="group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf</a>(text,text_end,charset,how);
<a name="l00109"></a>00109 }
<a name="l00110"></a>00110
<a name="l00116"></a>00116 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00117"></a><a class="code" href="group__codepage.html#ga4c22a2bcb97338274752f95e2d265442">00117</a> std::basic_string&lt;CharType&gt; <a class="code" href="group__codepage.html#ga2ca59a735ca28c9d5103e37ef2373ca1">to_utf</a>(std::string <span class="keyword">const</span> &amp;text,std::locale <span class="keyword">const</span> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00118"></a>00118 {
<a name="l00119"></a>00119 <span class="keywordflow">return</span> to_utf&lt;CharType&gt;(text.c_str(),text.c_str()+text.size(),loc,how);
<a name="l00120"></a>00120 }
<a name="l00121"></a>00121
<a name="l00127"></a>00127 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00128"></a><a class="code" href="group__codepage.html#ga85cc81b352a88e12191926b95eb39aeb">00128</a> std::string <a class="code" href="group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf</a>(std::basic_string&lt;CharType&gt; <span class="keyword">const</span> &amp;text,std::locale <span class="keyword">const</span> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00129"></a>00129 {
<a name="l00130"></a>00130 <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);
<a name="l00131"></a>00131 }
<a name="l00132"></a>00132
<a name="l00138"></a>00138 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00139"></a><a class="code" href="group__codepage.html#gac298fcddef144915332f031f4565feb0">00139</a> std::basic_string&lt;CharType&gt; <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> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00140"></a>00140 {
<a name="l00141"></a>00141 <span class="keywordtype">char</span> <span class="keyword">const</span> *text_end = text;
<a name="l00142"></a>00142 <span class="keywordflow">while</span>(*text_end)
<a name="l00143"></a>00143 text_end++;
<a name="l00144"></a>00144 <span class="keywordflow">return</span> to_utf&lt;CharType&gt;(text,text_end,loc,how);
<a name="l00145"></a>00145 }
<a name="l00146"></a>00146
<a name="l00152"></a>00152 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> CharType&gt;
<a name="l00153"></a><a class="code" href="group__codepage.html#ga2a41ad85803d97f7e1906d5c0561eefa">00153</a> 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> &amp;loc,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00154"></a>00154 {
<a name="l00155"></a>00155 CharType <span class="keyword">const</span> *text_end = text;
<a name="l00156"></a>00156 <span class="keywordflow">while</span>(*text_end)
<a name="l00157"></a>00157 text_end++;
<a name="l00158"></a>00158 <span class="keywordflow">return</span> <a class="code" href="group__codepage.html#gaef8fb7771dce60511d081770547a4139">from_utf</a>(text,text_end,loc,how);
<a name="l00159"></a>00159 }
<a name="l00160"></a>00160
<a name="l00161"></a>00161
<a name="l00165"></a>00165
<a name="l00166"></a>00166 BOOST_LOCALE_DECL
<a name="l00167"></a>00167 std::string <a class="code" href="group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *begin,
<a name="l00168"></a>00168 <span class="keywordtype">char</span> <span class="keyword">const</span> *end,
<a name="l00169"></a>00169 std::string <span class="keyword">const</span> &amp;to_encoding,
<a name="l00170"></a>00170 std::string <span class="keyword">const</span> &amp;from_encoding,
<a name="l00171"></a>00171 <a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>);
<a name="l00172"></a>00172
<a name="l00176"></a>00176
<a name="l00177"></a>00177 <span class="keyword">inline</span>
<a name="l00178"></a><a class="code" href="group__codepage.html#ga612607a8616add30cf21ceb086e664d5">00178</a> std::string <a class="code" href="group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *text,
<a name="l00179"></a>00179 std::string <span class="keyword">const</span> &amp;to_encoding,
<a name="l00180"></a>00180 std::string <span class="keyword">const</span> &amp;from_encoding,
<a name="l00181"></a>00181 <a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00182"></a>00182 {
<a name="l00183"></a>00183 <span class="keywordtype">char</span> <span class="keyword">const</span> *end=text;
<a name="l00184"></a>00184 <span class="keywordflow">while</span>(*end)
<a name="l00185"></a>00185 end++;
<a name="l00186"></a>00186 <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);
<a name="l00187"></a>00187 }
<a name="l00188"></a>00188
<a name="l00192"></a>00192 <span class="keyword">inline</span>
<a name="l00193"></a><a class="code" href="group__codepage.html#gad7f6c33cf95749ab48174ccafddf7b62">00193</a> std::string <a class="code" href="group__codepage.html#ga7eda9058b8cbac9b05886bcc894faeff">between</a>(std::string <span class="keyword">const</span> &amp;text,
<a name="l00194"></a>00194 std::string <span class="keyword">const</span> &amp;to_encoding,
<a name="l00195"></a>00195 std::string <span class="keyword">const</span> &amp;from_encoding,
<a name="l00196"></a>00196 <a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how=<a class="code" href="group__codepage.html#gga8e3c5a274f57107ec5745e227c26ba84adcdc34a57dd2a3ca917f73c13f18b559" title="Default method - skip.">default_method</a>)
<a name="l00197"></a>00197 {
<a name="l00198"></a>00198 <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);
<a name="l00199"></a>00199 }
<a name="l00200"></a>00200
<a name="l00202"></a>00202
<a name="l00203"></a>00203 <span class="keyword">template</span>&lt;&gt;
<a name="l00204"></a>00204 BOOST_LOCALE_DECL std::basic_string&lt;char&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00205"></a>00205
<a name="l00206"></a>00206 <span class="keyword">template</span>&lt;&gt;
<a name="l00207"></a>00207 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00208"></a>00208
<a name="l00209"></a>00209 <span class="keyword">template</span>&lt;&gt;
<a name="l00210"></a>00210 BOOST_LOCALE_DECL std::basic_string&lt;wchar_t&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00211"></a>00211
<a name="l00212"></a>00212 <span class="keyword">template</span>&lt;&gt;
<a name="l00213"></a>00213 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00214"></a>00214
<a name="l00215"></a>00215 <span class="preprocessor"> #ifdef BOOST_HAS_CHAR16_T</span>
<a name="l00216"></a>00216 <span class="preprocessor"></span> <span class="keyword">template</span>&lt;&gt;
<a name="l00217"></a>00217 BOOST_LOCALE_DECL std::basic_string&lt;char16_t&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00218"></a>00218
<a name="l00219"></a>00219 <span class="keyword">template</span>&lt;&gt;
<a name="l00220"></a>00220 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00221"></a>00221 <span class="preprocessor"> #endif</span>
<a name="l00222"></a>00222 <span class="preprocessor"></span>
<a name="l00223"></a>00223 <span class="preprocessor"> #ifdef BOOST_HAS_CHAR32_T</span>
<a name="l00224"></a>00224 <span class="preprocessor"></span> <span class="keyword">template</span>&lt;&gt;
<a name="l00225"></a>00225 BOOST_LOCALE_DECL std::basic_string&lt;char32_t&gt; <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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00226"></a>00226
<a name="l00227"></a>00227 <span class="keyword">template</span>&lt;&gt;
<a name="l00228"></a>00228 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> &amp;charset,<a class="code" href="group__codepage.html#ga8e3c5a274f57107ec5745e227c26ba84">method_type</a> how);
<a name="l00229"></a>00229 <span class="preprocessor"> #endif</span>
<a name="l00230"></a>00230 <span class="preprocessor"></span>
<a name="l00231"></a>00231
<a name="l00233"></a>00233
<a name="l00235"></a>00235
<a name="l00236"></a>00236 } <span class="comment">// conv</span>
<a name="l00237"></a>00237
<a name="l00238"></a>00238 } <span class="comment">// locale</span>
<a name="l00239"></a>00239 } <span class="comment">// boost</span>
<a name="l00240"></a>00240
<a name="l00241"></a>00241 <span class="preprocessor">#ifdef BOOST_MSVC</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span>
<a name="l00243"></a>00243 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00244"></a>00244 <span class="preprocessor"></span>
<a name="l00245"></a>00245 <span class="preprocessor">#endif</span>
<a name="l00246"></a>00246 <span class="preprocessor"></span>
<a name="l00247"></a>00247 <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span>
<a name="l00248"></a>00248
</pre></div></div><!-- contents -->
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>encoding.hpp</b> </li>
<li class="footer">
&copy; 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.
</li>
</ul>
</div>
</body>
</html>