2
0
mirror of https://github.com/boostorg/nowide.git synced 2026-01-19 04:22:12 +00:00
Files
nowide/doc/html/namespaceboost_1_1nowide.html
Peter Dimov 36794503ce Add doc/html
2019-12-04 16:32:38 +02:00

959 lines
49 KiB
HTML

<!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"/>
<meta name="generator" content="Doxygen 1.8.7"/>
<title>Boost.Nowide: boost::nowide Namespace Reference</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="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 style="padding-left: 0.5em;">
<div id="projectname">Boost.Nowide
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.7 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>boost</b></li><li class="navelem"><a class="el" href="namespaceboost_1_1nowide.html">nowide</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">boost::nowide Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>This namespace includes implementation of the standard library functios such that they accept UTF-8 strings on Windows. On other platforms it is just an alias of std namespace (i.e. not on Windows)
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1args.html">args</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">args is a class that fixes standard main() function arguments and changes them to UTF-8 under Microsoft Windows. <a href="classboost_1_1nowide_1_1args.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This forward declaration defined the <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html" title="This forward declaration defined the basic_filebuf type. ">basic_filebuf</a> type. <a href="classboost_1_1nowide_1_1basic__filebuf.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf&lt; char &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is implementation of std::filebuf. <a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::basic_fstream&lt;char&gt; but accepts UTF-8 strings under Windows. <a href="classboost_1_1nowide_1_1basic__fstream.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::basic_ifstream&lt;char&gt; but accepts UTF-8 strings under Windows. <a href="classboost_1_1nowide_1_1basic__ifstream.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::basic_ofstream&lt;char&gt; but accepts UTF-8 strings under Windows. <a href="classboost_1_1nowide_1_1basic__ofstream.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source. <a href="classboost_1_1nowide_1_1basic__stackstring.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">utf8_codecvt&lt; CharType, 2 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">utf8_codecvt&lt; CharType, 4 &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aa2709df55bd08ca25c97f047afec0ba0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">filebuf</a></td></tr>
<tr class="memdesc:aa2709df55bd08ca25c97f047afec0ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convinience typedef. <a href="#aa2709df55bd08ca25c97f047afec0ba0">More...</a><br /></td></tr>
<tr class="separator:aa2709df55bd08ca25c97f047afec0ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b2fe88d2c896641bf2ac9913ab5dc83"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">ifstream</a></td></tr>
<tr class="separator:a9b2fe88d2c896641bf2ac9913ab5dc83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a547c43290e3c142116f8713c233e3662"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">ofstream</a></td></tr>
<tr class="separator:a547c43290e3c142116f8713c233e3662"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab750bb37dd7f652f1222180f8f00f475"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">fstream</a></td></tr>
<tr class="separator:ab750bb37dd7f652f1222180f8f00f475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad80f6180f982a07763927345660c7964"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a><br class="typebreak" />
&lt; wchar_t, char, 256 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">wstackstring</a></td></tr>
<tr class="separator:ad80f6180f982a07763927345660c7964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4c19d4e98ae3e50b08ef2ef5056a12"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a><br class="typebreak" />
&lt; char, wchar_t, 256 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">stackstring</a></td></tr>
<tr class="separator:acd4c19d4e98ae3e50b08ef2ef5056a12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8369c10c0df6e36cd10cb9f9beb3149d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a><br class="typebreak" />
&lt; wchar_t, char, 16 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">wshort_stackstring</a></td></tr>
<tr class="separator:a8369c10c0df6e36cd10cb9f9beb3149d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76cf6347917b8b29dc4140afa1d5ff2d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a><br class="typebreak" />
&lt; char, wchar_t, 16 &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">short_stackstring</a></td></tr>
<tr class="separator:a76cf6347917b8b29dc4140afa1d5ff2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a6644397c539754076b11e95c535be192"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a6644397c539754076b11e95c535be192">getenv</a> (char const *key)</td></tr>
<tr class="memdesc:a6644397c539754076b11e95c535be192"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware getenv. Returns 0 if the variable is not set. <a href="#a6644397c539754076b11e95c535be192">More...</a><br /></td></tr>
<tr class="separator:a6644397c539754076b11e95c535be192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19d4925ea2c77e0b2abd8f5d045a8af2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2">setenv</a> (char const *key, char const *value, int override)</td></tr>
<tr class="memdesc:a19d4925ea2c77e0b2abd8f5d045a8af2"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware setenv, <em>key</em> - the variable name, <em>value</em> is a new UTF-8 value,. <a href="#a19d4925ea2c77e0b2abd8f5d045a8af2">More...</a><br /></td></tr>
<tr class="separator:a19d4925ea2c77e0b2abd8f5d045a8af2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61c3e97d5b8fd9c9a1812e2004ef7db6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61c3e97d5b8fd9c9a1812e2004ef7db6"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6">unsetenv</a> (char const *key)</td></tr>
<tr class="memdesc:a61c3e97d5b8fd9c9a1812e2004ef7db6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove enviroment variable <em>key</em>. <br /></td></tr>
<tr class="separator:a61c3e97d5b8fd9c9a1812e2004ef7db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad42e1fc3dd7ac556a551fbac3fa553e3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3">putenv</a> (char *string)</td></tr>
<tr class="memdesc:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware putenv implementation, expects string in format KEY=VALUE. <br /></td></tr>
<tr class="separator:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5816b009227ad8cd668881dfb5429ece"><td class="memTemplParams" colspan="2">template&lt;typename CharOut , typename CharIn &gt; </td></tr>
<tr class="memitem:a5816b009227ad8cd668881dfb5429ece"><td class="memTemplItemLeft" align="right" valign="top">CharOut *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a> (CharOut *buffer, size_t buffer_size, CharIn const *source_begin, CharIn const *source_end)</td></tr>
<tr class="memdesc:a5816b009227ad8cd668881dfb5429ece"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template function that converts a buffer of UTF sequences in range [source_begin,source_end) to the output <em>buffer</em> of size <em>buffer_size</em>. <a href="#a5816b009227ad8cd668881dfb5429ece">More...</a><br /></td></tr>
<tr class="separator:a5816b009227ad8cd668881dfb5429ece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2b772caed760a75f611c2dc24153e4a"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">narrow</a> (char *output, size_t output_size, wchar_t const *source)</td></tr>
<tr class="separator:ac2b772caed760a75f611c2dc24153e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26caaed23d4adf0aa1ed0c1e218fad61"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a26caaed23d4adf0aa1ed0c1e218fad61">narrow</a> (char *output, size_t output_size, wchar_t const *begin, wchar_t const *end)</td></tr>
<tr class="separator:a26caaed23d4adf0aa1ed0c1e218fad61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6baacc1bb80c134a2ce37f13977b5500"><td class="memItemLeft" align="right" valign="top">wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">widen</a> (wchar_t *output, size_t output_size, char const *source)</td></tr>
<tr class="separator:a6baacc1bb80c134a2ce37f13977b5500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bbb3c99ae08169220f3ba02ddf53a80"><td class="memItemLeft" align="right" valign="top">wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a8bbb3c99ae08169220f3ba02ddf53a80">widen</a> (wchar_t *output, size_t output_size, char const *begin, char const *end)</td></tr>
<tr class="separator:a8bbb3c99ae08169220f3ba02ddf53a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13b4f6f7f97f889ec858dde2d367b130"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a13b4f6f7f97f889ec858dde2d367b130">narrow</a> (wchar_t const *s)</td></tr>
<tr class="separator:a13b4f6f7f97f889ec858dde2d367b130"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa914b18890c98fe5b9d1f1f9db53410a"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#aa914b18890c98fe5b9d1f1f9db53410a">widen</a> (char const *s)</td></tr>
<tr class="separator:aa914b18890c98fe5b9d1f1f9db53410a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b237483918f54bc0ee7b0d750811fc6"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a3b237483918f54bc0ee7b0d750811fc6">narrow</a> (std::wstring const &amp;s)</td></tr>
<tr class="separator:a3b237483918f54bc0ee7b0d750811fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a478fc384f85c7fb53158d741d3cc066c"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a478fc384f85c7fb53158d741d3cc066c">widen</a> (std::string const &amp;s)</td></tr>
<tr class="separator:a478fc384f85c7fb53158d741d3cc066c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfd128693c677a8ad1266ee7b4cbdb41"><td class="memItemLeft" align="right" valign="top">FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41">freopen</a> (char const *file_name, char const *mode, FILE *stream)</td></tr>
<tr class="memdesc:adfd128693c677a8ad1266ee7b4cbdb41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as freopen but file_name and mode are UTF-8 strings. <a href="#adfd128693c677a8ad1266ee7b4cbdb41">More...</a><br /></td></tr>
<tr class="separator:adfd128693c677a8ad1266ee7b4cbdb41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45d432e5684010f865702af97d47f087"><td class="memItemLeft" align="right" valign="top">FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">fopen</a> (char const *file_name, char const *mode)</td></tr>
<tr class="memdesc:a45d432e5684010f865702af97d47f087"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as fopen but file_name and mode are UTF-8 strings. <a href="#a45d432e5684010f865702af97d47f087">More...</a><br /></td></tr>
<tr class="separator:a45d432e5684010f865702af97d47f087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc7aa6b5fa4b6bbb9eead9e12efc967b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b">rename</a> (char const *old_name, char const *new_name)</td></tr>
<tr class="memdesc:abc7aa6b5fa4b6bbb9eead9e12efc967b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as rename but old_name and new_name are UTF-8 strings. <a href="#abc7aa6b5fa4b6bbb9eead9e12efc967b">More...</a><br /></td></tr>
<tr class="separator:abc7aa6b5fa4b6bbb9eead9e12efc967b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae499659be3b7b42ede7f0674b953efaf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ae499659be3b7b42ede7f0674b953efaf">remove</a> (char const *name)</td></tr>
<tr class="memdesc:ae499659be3b7b42ede7f0674b953efaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as rename but name is UTF-8 string. <a href="#ae499659be3b7b42ede7f0674b953efaf">More...</a><br /></td></tr>
<tr class="separator:ae499659be3b7b42ede7f0674b953efaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aba4b9d7d109837ab26e7d85f77a6d9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9">system</a> (char const *cmd)</td></tr>
<tr class="separator:a3aba4b9d7d109837ab26e7d85f77a6d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35fcf44f20aed5c368c6e5008a7fcfff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35fcf44f20aed5c368c6e5008a7fcfff"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_ASSERT</b> (sizeof(std::mbstate_t)&gt;=2)</td></tr>
<tr class="separator:a35fcf44f20aed5c368c6e5008a7fcfff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f94a60d0a9e5534a6dcc41bbc826ee8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">nowide_filesystem</a> ()</td></tr>
<tr class="separator:a7f94a60d0a9e5534a6dcc41bbc826ee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a4a173da513651d5732f28689edc82364"><td class="memItemLeft" align="right" valign="top">details::winconsole_istream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a4a173da513651d5732f28689edc82364">cin</a></td></tr>
<tr class="memdesc:a4a173da513651d5732f28689edc82364"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cin, but uses UTF-8. <a href="#a4a173da513651d5732f28689edc82364">More...</a><br /></td></tr>
<tr class="separator:a4a173da513651d5732f28689edc82364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3150e32a8082927f4843791c1dbc3587"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">cout</a></td></tr>
<tr class="memdesc:a3150e32a8082927f4843791c1dbc3587"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cout, but uses UTF-8. <a href="#a3150e32a8082927f4843791c1dbc3587">More...</a><br /></td></tr>
<tr class="separator:a3150e32a8082927f4843791c1dbc3587"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c43cbf142f4e42edb0fea6044d40bcb"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">cerr</a></td></tr>
<tr class="memdesc:a1c43cbf142f4e42edb0fea6044d40bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cerr, but uses UTF-8. <a href="#a1c43cbf142f4e42edb0fea6044d40bcb">More...</a><br /></td></tr>
<tr class="separator:a1c43cbf142f4e42edb0fea6044d40bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5faf4bac8b65598f69c33fcc97d4a2"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#afe5faf4bac8b65598f69c33fcc97d4a2">clog</a></td></tr>
<tr class="memdesc:afe5faf4bac8b65598f69c33fcc97d4a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::clog, but uses UTF-8. <a href="#afe5faf4bac8b65598f69c33fcc97d4a2">More...</a><br /></td></tr>
<tr class="separator:afe5faf4bac8b65598f69c33fcc97d4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This namespace includes implementation of the standard library functios such that they accept UTF-8 strings on Windows. On other platforms it is just an alias of std namespace (i.e. not on Windows) </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="aa2709df55bd08ca25c97f047afec0ba0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>&lt; char &gt; <a class="el" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">boost::nowide::filebuf</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convinience typedef. </p>
<p>Same as std::filebuf but accepts UTF-8 strings under Windows. </p>
</div>
</div>
<a class="anchor" id="ab750bb37dd7f652f1222180f8f00f475"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt;char&gt; <a class="el" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">boost::nowide::fstream</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::fstream but accepts UTF-8 strings under Windows </p>
</div>
</div>
<a class="anchor" id="a9b2fe88d2c896641bf2ac9913ab5dc83"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt;char&gt; <a class="el" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">boost::nowide::ifstream</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::ifstream but accepts UTF-8 strings under Windows </p>
</div>
</div>
<a class="anchor" id="a547c43290e3c142116f8713c233e3662"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt;char&gt; <a class="el" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">boost::nowide::ofstream</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::ofstream but accepts UTF-8 strings under Windows </p>
</div>
</div>
<a class="anchor" id="a76cf6347917b8b29dc4140afa1d5ff2d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;char,wchar_t,16&gt; <a class="el" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">boost::nowide::short_stackstring</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convinience typedef </p>
</div>
</div>
<a class="anchor" id="acd4c19d4e98ae3e50b08ef2ef5056a12"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;char,wchar_t,256&gt; <a class="el" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide::stackstring</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convinience typedef </p>
</div>
</div>
<a class="anchor" id="a8369c10c0df6e36cd10cb9f9beb3149d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;wchar_t,char,16&gt; <a class="el" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">boost::nowide::wshort_stackstring</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convinience typedef </p>
</div>
</div>
<a class="anchor" id="ad80f6180f982a07763927345660c7964"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;wchar_t,char,256&gt; <a class="el" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">boost::nowide::wstackstring</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convinience typedef </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a5816b009227ad8cd668881dfb5429ece"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename CharOut , typename CharIn &gt; </div>
<table class="memname">
<tr>
<td class="memname">CharOut* boost::nowide::basic_convert </td>
<td>(</td>
<td class="paramtype">CharOut *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>buffer_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CharIn const *&#160;</td>
<td class="paramname"><em>source_begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CharIn const *&#160;</td>
<td class="paramname"><em>source_end</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Template function that converts a buffer of UTF sequences in range [source_begin,source_end) to the output <em>buffer</em> of size <em>buffer_size</em>. </p>
<p>In case of success a NULL terminated string is returned (buffer), otherwise 0 is returned.</p>
<p>If there is not enough room in the buffer or the source sequence contains invalid UTF, 0 is returned, and the contents of the buffer are undefined. </p>
</div>
</div>
<a class="anchor" id="a45d432e5684010f865702af97d47f087"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">FILE* boost::nowide::fopen </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>file_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>mode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as fopen but file_name and mode are UTF-8 strings. </p>
<p>If invalid UTF-8 given, NULL is returned and errno is set to EINVAL </p>
</div>
</div>
<a class="anchor" id="adfd128693c677a8ad1266ee7b4cbdb41"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">FILE* boost::nowide::freopen </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>file_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">FILE *&#160;</td>
<td class="paramname"><em>stream</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as freopen but file_name and mode are UTF-8 strings. </p>
<p>If invalid UTF-8 given, NULL is returned and errno is set to EINVAL </p>
</div>
</div>
<a class="anchor" id="a6644397c539754076b11e95c535be192"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* boost::nowide::getenv </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>UTF-8 aware getenv. Returns 0 if the variable is not set. </p>
<p>This function is not thread safe or reenterable as defined by the standard library </p>
</div>
</div>
<a class="anchor" id="ac2b772caed760a75f611c2dc24153e4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* boost::nowide::narrow </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>output_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">wchar_t const *&#160;</td>
<td class="paramname"><em>source</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert NULL terminated UTF source string to NULL terminated <em>output</em> string of size at most output_size (including NULL)</p>
<p>In case of success output is returned, if the input sequence is illegal, or there is not enough room NULL is returned </p>
</div>
</div>
<a class="anchor" id="a26caaed23d4adf0aa1ed0c1e218fad61"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">char* boost::nowide::narrow </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>output_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">wchar_t const *&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">wchar_t const *&#160;</td>
<td class="paramname"><em>end</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert UTF text in range [begin,end) to NULL terminated <em>output</em> string of size at most output_size (including NULL)</p>
<p>In case of success output is returned, if the input sequence is illegal, or there is not enough room NULL is returned </p>
</div>
</div>
<a class="anchor" id="a13b4f6f7f97f889ec858dde2d367b130"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string boost::nowide::narrow </td>
<td>(</td>
<td class="paramtype">wchar_t const *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert between Wide - UTF-16/32 string and UTF-8 string.</p>
<p>boost::locale::conv::conversion_error is thrown in a case of a error </p>
</div>
</div>
<a class="anchor" id="a3b237483918f54bc0ee7b0d750811fc6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string boost::nowide::narrow </td>
<td>(</td>
<td class="paramtype">std::wstring const &amp;&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert between Wide - UTF-16/32 string and UTF-8 string</p>
<p>boost::locale::conv::conversion_error is thrown in a case of a error </p>
</div>
</div>
<a class="anchor" id="a7f94a60d0a9e5534a6dcc41bbc826ee8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void boost::nowide::nowide_filesystem </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Instal <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a> facet into boost::filesystem::path such all char strings are interpreted as utf-8 strings </p>
</div>
</div>
<a class="anchor" id="ae499659be3b7b42ede7f0674b953efaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::remove </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as rename but name is UTF-8 string. </p>
<p>If invalid UTF-8 given, -1 is returned and errno is set to EINVAL </p>
</div>
</div>
<a class="anchor" id="abc7aa6b5fa4b6bbb9eead9e12efc967b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::rename </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>old_name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>new_name</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as rename but old_name and new_name are UTF-8 strings. </p>
<p>If invalid UTF-8 given, -1 is returned and errno is set to EINVAL </p>
</div>
</div>
<a class="anchor" id="a19d4925ea2c77e0b2abd8f5d045a8af2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::setenv </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>override</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>UTF-8 aware setenv, <em>key</em> - the variable name, <em>value</em> is a new UTF-8 value,. </p>
<p>if override is not 0, that the old value is always overridded, otherwise, if the variable exists it remains unchanged </p>
</div>
</div>
<a class="anchor" id="a3aba4b9d7d109837ab26e7d85f77a6d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::system </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>cmd</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::system but cmd is UTF-8.</p>
<p>If the input is not valid UTF-8, -1 returned and errno set to EINVAL </p>
</div>
</div>
<a class="anchor" id="a6baacc1bb80c134a2ce37f13977b5500"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">wchar_t* boost::nowide::widen </td>
<td>(</td>
<td class="paramtype">wchar_t *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>output_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>source</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert NULL terminated UTF source string to NULL terminated <em>output</em> string of size at most output_size (including NULL)</p>
<p>In case of success output is returned, if the input sequence is illegal, or there is not enough room NULL is returned </p>
</div>
</div>
<a class="anchor" id="a8bbb3c99ae08169220f3ba02ddf53a80"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">wchar_t* boost::nowide::widen </td>
<td>(</td>
<td class="paramtype">wchar_t *&#160;</td>
<td class="paramname"><em>output</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>output_size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>end</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert UTF text in range [begin,end) to NULL terminated <em>output</em> string of size at most output_size (including NULL)</p>
<p>In case of success output is returned, if the input sequence is illegal, or there is not enough room NULL is returned </p>
</div>
</div>
<a class="anchor" id="aa914b18890c98fe5b9d1f1f9db53410a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::wstring boost::nowide::widen </td>
<td>(</td>
<td class="paramtype">char const *&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert between UTF-8 and UTF-16 string, implemented only on Windows platform</p>
<p>boost::locale::conv::conversion_error is thrown in a case of a error </p>
</div>
</div>
<a class="anchor" id="a478fc384f85c7fb53158d741d3cc066c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::wstring boost::nowide::widen </td>
<td>(</td>
<td class="paramtype">std::string const &amp;&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert between UTF-8 and UTF-16 string, implemented only on Windows platform</p>
<p>boost::locale::conv::conversion_error is thrown in a case of a error </p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a1c43cbf142f4e42edb0fea6044d40bcb"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">details::winconsole_ostream boost::nowide::cerr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::cerr, but uses UTF-8. </p>
<p>Note, the stream is not synchronized with stdio and not affected by std::ios::sync_with_stdio </p>
</div>
</div>
<a class="anchor" id="a4a173da513651d5732f28689edc82364"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">details::winconsole_istream boost::nowide::cin</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::cin, but uses UTF-8. </p>
<p>Note, the stream is not synchronized with stdio and not affected by std::ios::sync_with_stdio </p>
</div>
</div>
<a class="anchor" id="afe5faf4bac8b65598f69c33fcc97d4a2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">details::winconsole_ostream boost::nowide::clog</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::clog, but uses UTF-8. </p>
<p>Note, the stream is not synchronized with stdio and not affected by std::ios::sync_with_stdio </p>
</div>
</div>
<a class="anchor" id="a3150e32a8082927f4843791c1dbc3587"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">details::winconsole_ostream boost::nowide::cout</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::cout, but uses UTF-8. </p>
<p>Note, the stream is not synchronized with stdio and not affected by std::ios::sync_with_stdio </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.7
</small></address>
</body>
</html>