boost/libs/nowide/doc/html/namespaceboost_1_1nowide.html
2021-10-05 21:37:46 +02:00

1083 lines
65 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>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 id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Boost.Nowide
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></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="#namespaces">Namespaces</a> &#124;
<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 implementations of the standard library functions and classes such that they accept UTF-8 strings on Windows. On other platforms (i.e. not on Windows) those functions and classes are just aliases of the corresponding ones from the std namespace or behave like them.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceboost_1_1nowide_1_1utf"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide_1_1utf.html">utf</a></td></tr>
<tr class="memdesc:namespaceboost_1_1nowide_1_1utf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Namespace that holds basic operations on UTF encoded sequences. <br /></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="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"><code>args</code> is a class that temporarily replaces standard main() function arguments with their equal, but UTF-8 encoded values under Microsoft Windows for the lifetime of the instance. <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 defines the <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html" title="This forward declaration defines 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 the 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="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for the UTF-8 &lt;-&gt; UTF-16 variant of the std::codecvt implementation. <a href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_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_1utf8__codecvt_3_01CharType_00_014_01_4.html">utf8_codecvt&lt; CharType, 4 &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization for the UTF-8 &lt;-&gt; UTF-32 variant of the std::codecvt implementation. <a href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html#details">More...</a><br /></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">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">filebuf</a> = <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>&lt; char &gt;</td></tr>
<tr class="memdesc:aa2709df55bd08ca25c97f047afec0ba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience typedef. <a href="#aa2709df55bd08ca25c97f047afec0ba0">More...</a><br /></td></tr>
<tr class="separator:aa2709df55bd08ca25c97f047afec0ba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8267e8ed3bfb3638a32973b2523861b"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#af8267e8ed3bfb3638a32973b2523861b">ifstream</a> = <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt; char &gt;</td></tr>
<tr class="separator:af8267e8ed3bfb3638a32973b2523861b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09460bd5f303ec2cde15e39ef01b1ef"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ac09460bd5f303ec2cde15e39ef01b1ef">ofstream</a> = <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt; char &gt;</td></tr>
<tr class="separator:ac09460bd5f303ec2cde15e39ef01b1ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0866ca2b7608db63f9ae7564cae882"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#aec0866ca2b7608db63f9ae7564cae882">fstream</a> = <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt; char &gt;</td></tr>
<tr class="separator:aec0866ca2b7608db63f9ae7564cae882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00795a1ea327d62c71823c1edc8fe8d2"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a00795a1ea327d62c71823c1edc8fe8d2">wstackstring</a> = <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt; wchar_t, char, 256 &gt;</td></tr>
<tr class="separator:a00795a1ea327d62c71823c1edc8fe8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbef3535368fffe45878623033ad3057"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#adbef3535368fffe45878623033ad3057">stackstring</a> = <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt; char, wchar_t, 256 &gt;</td></tr>
<tr class="separator:adbef3535368fffe45878623033ad3057"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22ef95b945d8fd101d72fa5f82245b6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#af22ef95b945d8fd101d72fa5f82245b6">wshort_stackstring</a> = <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt; wchar_t, char, 16 &gt;</td></tr>
<tr class="separator:af22ef95b945d8fd101d72fa5f82245b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac35dfc05b17d222ac9a484e2cff07932"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ac35dfc05b17d222ac9a484e2cff07932">short_stackstring</a> = <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt; char, wchar_t, 16 &gt;</td></tr>
<tr class="separator:ac35dfc05b17d222ac9a484e2cff07932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61eecc2b14a6045459fc7adc4d53017c"><td class="memItemLeft" align="right" valign="top"><a id="a61eecc2b14a6045459fc7adc4d53017c"></a>
typedef struct ::__stat64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a61eecc2b14a6045459fc7adc4d53017c">stat_t</a></td></tr>
<tr class="memdesc:a61eecc2b14a6045459fc7adc4d53017c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for the file info structure. Able to hold 64 bit filesize and timestamps on Windows and usually also on other 64 Bit systems This allows to write portable code with option LFS support. <br /></td></tr>
<tr class="separator:a61eecc2b14a6045459fc7adc4d53017c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4992fd8039bd8478db74e5aa0c92e63"><td class="memItemLeft" align="right" valign="top"><a id="ab4992fd8039bd8478db74e5aa0c92e63"></a>
typedef struct ::_stat&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ab4992fd8039bd8478db74e5aa0c92e63">posix_stat_t</a></td></tr>
<tr class="memdesc:ab4992fd8039bd8478db74e5aa0c92e63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for the file info structure used in the POSIX stat call Resolves to <code>struct _stat</code> on Windows and <code>struct stat</code> otherwise This allows to write portable code using the default stat function. <br /></td></tr>
<tr class="separator:ab4992fd8039bd8478db74e5aa0c92e63"><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:a2c6cc8031fbf04a4d60a50a892d30906"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a2c6cc8031fbf04a4d60a50a892d30906">narrow</a> (char *output, size_t output_size, const wchar_t *begin, const wchar_t *end)</td></tr>
<tr class="separator:a2c6cc8031fbf04a4d60a50a892d30906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13531994f369cf6c2503dd2a977e899"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ad13531994f369cf6c2503dd2a977e899">narrow</a> (char *output, size_t output_size, const wchar_t *source)</td></tr>
<tr class="separator:ad13531994f369cf6c2503dd2a977e899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac19f38bffa0370b15ac63c0480b85351"><td class="memItemLeft" align="right" valign="top">wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ac19f38bffa0370b15ac63c0480b85351">widen</a> (wchar_t *output, size_t output_size, const char *begin, const char *end)</td></tr>
<tr class="separator:ac19f38bffa0370b15ac63c0480b85351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd7ec301ec2235d04e758c7d324ebb62"><td class="memItemLeft" align="right" valign="top">wchar_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#abd7ec301ec2235d04e758c7d324ebb62">widen</a> (wchar_t *output, size_t output_size, const char *source)</td></tr>
<tr class="separator:abd7ec301ec2235d04e758c7d324ebb62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a130791c437ed5488bd84df26f3df43bb"><td class="memTemplParams" colspan="2">template&lt;typename T_Char , typename = detail::requires_wide_char&lt;T_Char&gt;&gt; </td></tr>
<tr class="memitem:a130791c437ed5488bd84df26f3df43bb"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a130791c437ed5488bd84df26f3df43bb">narrow</a> (const T_Char *s, size_t count)</td></tr>
<tr class="separator:a130791c437ed5488bd84df26f3df43bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e32bb1b9c43f31a2d43f53245ffaed3"><td class="memTemplParams" colspan="2">template&lt;typename T_Char , typename = detail::requires_wide_char&lt;T_Char&gt;&gt; </td></tr>
<tr class="memitem:a0e32bb1b9c43f31a2d43f53245ffaed3"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a0e32bb1b9c43f31a2d43f53245ffaed3">narrow</a> (const T_Char *s)</td></tr>
<tr class="separator:a0e32bb1b9c43f31a2d43f53245ffaed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e8032162501afa54694bbb6c14be35"><td class="memTemplParams" colspan="2">template&lt;typename StringOrStringView , typename = detail::requires_wide_string_container&lt;StringOrStringView&gt;&gt; </td></tr>
<tr class="memitem:a44e8032162501afa54694bbb6c14be35"><td class="memTemplItemLeft" align="right" valign="top">std::string&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a44e8032162501afa54694bbb6c14be35">narrow</a> (const StringOrStringView &amp;s)</td></tr>
<tr class="separator:a44e8032162501afa54694bbb6c14be35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d4f99d38bc01adaac1b83c20ab36bf"><td class="memTemplParams" colspan="2">template&lt;typename T_Char , typename = detail::requires_narrow_char&lt;T_Char&gt;&gt; </td></tr>
<tr class="memitem:af1d4f99d38bc01adaac1b83c20ab36bf"><td class="memTemplItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#af1d4f99d38bc01adaac1b83c20ab36bf">widen</a> (const T_Char *s, size_t count)</td></tr>
<tr class="separator:af1d4f99d38bc01adaac1b83c20ab36bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2547e4b3e9f0dfa34ce114bbc0392c53"><td class="memTemplParams" colspan="2">template&lt;typename T_Char , typename = detail::requires_narrow_char&lt;T_Char&gt;&gt; </td></tr>
<tr class="memitem:a2547e4b3e9f0dfa34ce114bbc0392c53"><td class="memTemplItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a2547e4b3e9f0dfa34ce114bbc0392c53">widen</a> (const T_Char *s)</td></tr>
<tr class="separator:a2547e4b3e9f0dfa34ce114bbc0392c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd45140e35eefe41074ae55457959eb6"><td class="memTemplParams" colspan="2">template&lt;typename StringOrStringView , typename = detail::requires_narrow_string_container&lt;StringOrStringView&gt;&gt; </td></tr>
<tr class="memitem:acd45140e35eefe41074ae55457959eb6"><td class="memTemplItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#acd45140e35eefe41074ae55457959eb6">widen</a> (const StringOrStringView &amp;s)</td></tr>
<tr class="separator:acd45140e35eefe41074ae55457959eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18119857bb88e0dd4834809d5f34432e"><td class="memItemLeft" align="right" valign="top"><a id="a18119857bb88e0dd4834809d5f34432e"></a>
FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a18119857bb88e0dd4834809d5f34432e">freopen</a> (const char *file_name, const char *mode, FILE *stream)</td></tr>
<tr class="memdesc:a18119857bb88e0dd4834809d5f34432e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as freopen but file_name and mode are UTF-8 strings. <br /></td></tr>
<tr class="separator:a18119857bb88e0dd4834809d5f34432e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01e092c8625664d7b84db4492a4babc9"><td class="memItemLeft" align="right" valign="top"><a id="a01e092c8625664d7b84db4492a4babc9"></a>
FILE *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a01e092c8625664d7b84db4492a4babc9">fopen</a> (const char *file_name, const char *mode)</td></tr>
<tr class="memdesc:a01e092c8625664d7b84db4492a4babc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as fopen but file_name and mode are UTF-8 strings. <br /></td></tr>
<tr class="separator:a01e092c8625664d7b84db4492a4babc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf4cb59151c1c3059e558d31f966c3d8"><td class="memItemLeft" align="right" valign="top"><a id="aaf4cb59151c1c3059e558d31f966c3d8"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#aaf4cb59151c1c3059e558d31f966c3d8">rename</a> (const char *old_name, const char *new_name)</td></tr>
<tr class="memdesc:aaf4cb59151c1c3059e558d31f966c3d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as rename but old_name and new_name are UTF-8 strings. <br /></td></tr>
<tr class="separator:aaf4cb59151c1c3059e558d31f966c3d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a313de315616c39e8f98d247510fc9f78"><td class="memItemLeft" align="right" valign="top"><a id="a313de315616c39e8f98d247510fc9f78"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a313de315616c39e8f98d247510fc9f78">remove</a> (const char *name)</td></tr>
<tr class="memdesc:a313de315616c39e8f98d247510fc9f78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as rename but name is UTF-8 string. <br /></td></tr>
<tr class="separator:a313de315616c39e8f98d247510fc9f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac83059bedb191bbcb73637cd1224589c"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ac83059bedb191bbcb73637cd1224589c">getenv</a> (const char *key)</td></tr>
<tr class="memdesc:ac83059bedb191bbcb73637cd1224589c"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware getenv. Returns 0 if the variable is not set. <a href="#ac83059bedb191bbcb73637cd1224589c">More...</a><br /></td></tr>
<tr class="separator:ac83059bedb191bbcb73637cd1224589c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a2daac05cf950f46679a07b09f97b36"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a4a2daac05cf950f46679a07b09f97b36">system</a> (const char *cmd)</td></tr>
<tr class="separator:a4a2daac05cf950f46679a07b09f97b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcf2b99df60f5fe8c5160ee2c29154ea"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#abcf2b99df60f5fe8c5160ee2c29154ea">setenv</a> (const char *key, const char *value, int overwrite)</td></tr>
<tr class="memdesc:abcf2b99df60f5fe8c5160ee2c29154ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set environment variable <em>key</em> to <em>value</em>. <a href="#abcf2b99df60f5fe8c5160ee2c29154ea">More...</a><br /></td></tr>
<tr class="separator:abcf2b99df60f5fe8c5160ee2c29154ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add09e67957a286d27f6f703ce1bc775c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#add09e67957a286d27f6f703ce1bc775c">unsetenv</a> (const char *key)</td></tr>
<tr class="memdesc:add09e67957a286d27f6f703ce1bc775c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove environment variable <em>key</em>. <a href="#add09e67957a286d27f6f703ce1bc775c">More...</a><br /></td></tr>
<tr class="separator:add09e67957a286d27f6f703ce1bc775c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="memItemLeft" align="right" valign="top">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">Adds or changes an environment variable, <em>string</em> must be in format KEY=VALUE. <a href="#ad42e1fc3dd7ac556a551fbac3fa553e3">More...</a><br /></td></tr>
<tr class="separator:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00544a475ceab4163eb8c12ee80eb9ec"><td class="memItemLeft" align="right" valign="top">std::locale&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a00544a475ceab4163eb8c12ee80eb9ec">nowide_filesystem</a> ()</td></tr>
<tr class="separator:a00544a475ceab4163eb8c12ee80eb9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3a31a8430ec37306143ebe54776c805"><td class="memTemplParams" colspan="2"><a id="aa3a31a8430ec37306143ebe54776c805"></a>
template&lt;typename CharType , typename Traits &gt; </td></tr>
<tr class="memitem:aa3a31a8430ec37306143ebe54776c805"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>&lt; CharType, Traits &gt; &amp;lhs, <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>&lt; CharType, Traits &gt; &amp;rhs)</td></tr>
<tr class="separator:aa3a31a8430ec37306143ebe54776c805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952b29bdc65c5d67ad8547be5c0b629d"><td class="memTemplParams" colspan="2"><a id="a952b29bdc65c5d67ad8547be5c0b629d"></a>
template&lt;typename CharType , typename Traits &gt; </td></tr>
<tr class="memitem:a952b29bdc65c5d67ad8547be5c0b629d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt; CharType, Traits &gt; &amp;lhs, <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt; CharType, Traits &gt; &amp;rhs)</td></tr>
<tr class="separator:a952b29bdc65c5d67ad8547be5c0b629d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf5973a159ff279a31ff05fcfff6f6ce"><td class="memTemplParams" colspan="2"><a id="abf5973a159ff279a31ff05fcfff6f6ce"></a>
template&lt;typename CharType , typename Traits &gt; </td></tr>
<tr class="memitem:abf5973a159ff279a31ff05fcfff6f6ce"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt; CharType, Traits &gt; &amp;lhs, <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt; CharType, Traits &gt; &amp;rhs)</td></tr>
<tr class="separator:abf5973a159ff279a31ff05fcfff6f6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee8d2383f22f63cd085cf0fb8802ca65"><td class="memTemplParams" colspan="2"><a id="aee8d2383f22f63cd085cf0fb8802ca65"></a>
template&lt;typename CharType , typename Traits &gt; </td></tr>
<tr class="memitem:aee8d2383f22f63cd085cf0fb8802ca65"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt; CharType, Traits &gt; &amp;lhs, <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt; CharType, Traits &gt; &amp;rhs)</td></tr>
<tr class="separator:aee8d2383f22f63cd085cf0fb8802ca65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eb5b391f04d80ba00f37725cd9c5356"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a4eb5b391f04d80ba00f37725cd9c5356">stat</a> (const char *path, <a class="el" href="namespaceboost_1_1nowide.html#a61eecc2b14a6045459fc7adc4d53017c">stat_t</a> *buffer)</td></tr>
<tr class="memdesc:a4eb5b391f04d80ba00f37725cd9c5356"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware stat function, returns 0 on success. <a href="#a4eb5b391f04d80ba00f37725cd9c5356">More...</a><br /></td></tr>
<tr class="separator:a4eb5b391f04d80ba00f37725cd9c5356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba612d55b59b53f8700ad006b8b4301"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a6ba612d55b59b53f8700ad006b8b4301">stat</a> (const char *path, <a class="el" href="namespaceboost_1_1nowide.html#ab4992fd8039bd8478db74e5aa0c92e63">posix_stat_t</a> *buffer)</td></tr>
<tr class="memdesc:a6ba612d55b59b53f8700ad006b8b4301"><td class="mdescLeft">&#160;</td><td class="mdescRight">UTF-8 aware stat function, returns 0 on success. <a href="#a6ba612d55b59b53f8700ad006b8b4301">More...</a><br /></td></tr>
<tr class="separator:a6ba612d55b59b53f8700ad006b8b4301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a1050806ab54313352e937ceb8f21a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a2a1050806ab54313352e937ceb8f21a6">dummy_exported_function</a> ()</td></tr>
<tr class="separator:a2a1050806ab54313352e937ceb8f21a6"><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:a75088765b2dd2db057614d27e93b786a"><td class="memItemLeft" align="right" valign="top">detail::winconsole_istream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a75088765b2dd2db057614d27e93b786a">cin</a></td></tr>
<tr class="memdesc:a75088765b2dd2db057614d27e93b786a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cin, but uses UTF-8. <a href="#a75088765b2dd2db057614d27e93b786a">More...</a><br /></td></tr>
<tr class="separator:a75088765b2dd2db057614d27e93b786a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae41f002fbf0b6b1941cc5737f8c36d07"><td class="memItemLeft" align="right" valign="top">detail::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ae41f002fbf0b6b1941cc5737f8c36d07">cout</a></td></tr>
<tr class="memdesc:ae41f002fbf0b6b1941cc5737f8c36d07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cout, but uses UTF-8. <a href="#ae41f002fbf0b6b1941cc5737f8c36d07">More...</a><br /></td></tr>
<tr class="separator:ae41f002fbf0b6b1941cc5737f8c36d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2fae63f1575764692d8ee82fb5a30ee"><td class="memItemLeft" align="right" valign="top">detail::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#ae2fae63f1575764692d8ee82fb5a30ee">cerr</a></td></tr>
<tr class="memdesc:ae2fae63f1575764692d8ee82fb5a30ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::cerr, but uses UTF-8. <a href="#ae2fae63f1575764692d8ee82fb5a30ee">More...</a><br /></td></tr>
<tr class="separator:ae2fae63f1575764692d8ee82fb5a30ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0492a3d087f2c8ad7b8196434aa25fe7"><td class="memItemLeft" align="right" valign="top">detail::winconsole_ostream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a0492a3d087f2c8ad7b8196434aa25fe7">clog</a></td></tr>
<tr class="memdesc:a0492a3d087f2c8ad7b8196434aa25fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as std::clog, but uses UTF-8. <a href="#a0492a3d087f2c8ad7b8196434aa25fe7">More...</a><br /></td></tr>
<tr class="separator:a0492a3d087f2c8ad7b8196434aa25fe7"><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 implementations of the standard library functions and classes such that they accept UTF-8 strings on Windows. On other platforms (i.e. not on Windows) those functions and classes are just aliases of the corresponding ones from the std namespace or behave like them. </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="aa2709df55bd08ca25c97f047afec0ba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2709df55bd08ca25c97f047afec0ba0">&#9670;&nbsp;</a></span>filebuf</h2>
<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>Convenience typedef. </p>
<p>Same as std::filebuf but accepts UTF-8 strings under Windows </p>
</div>
</div>
<a id="aec0866ca2b7608db63f9ae7564cae882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0866ca2b7608db63f9ae7564cae882">&#9670;&nbsp;</a></span>fstream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#aec0866ca2b7608db63f9ae7564cae882">boost::nowide::fstream</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>&lt;char&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::fstream but accepts UTF-8 strings under Windows and *::filesystem::path on all systems </p>
</div>
</div>
<a id="af8267e8ed3bfb3638a32973b2523861b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8267e8ed3bfb3638a32973b2523861b">&#9670;&nbsp;</a></span>ifstream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#af8267e8ed3bfb3638a32973b2523861b">boost::nowide::ifstream</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>&lt;char&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::ifstream but accepts UTF-8 strings under Windows and *::filesystem::path on all systems </p>
</div>
</div>
<a id="ac09460bd5f303ec2cde15e39ef01b1ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac09460bd5f303ec2cde15e39ef01b1ef">&#9670;&nbsp;</a></span>ofstream</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#ac09460bd5f303ec2cde15e39ef01b1ef">boost::nowide::ofstream</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>&lt;char&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::ofstream but accepts UTF-8 strings under Windows and *::filesystem::path on all systems </p>
</div>
</div>
<a id="ac35dfc05b17d222ac9a484e2cff07932"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac35dfc05b17d222ac9a484e2cff07932">&#9670;&nbsp;</a></span>short_stackstring</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#ac35dfc05b17d222ac9a484e2cff07932">boost::nowide::short_stackstring</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;char, wchar_t, 16&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convenience typedef </p>
</div>
</div>
<a id="adbef3535368fffe45878623033ad3057"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbef3535368fffe45878623033ad3057">&#9670;&nbsp;</a></span>stackstring</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#adbef3535368fffe45878623033ad3057">boost::nowide::stackstring</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;char, wchar_t, 256&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convenience typedef </p>
</div>
</div>
<a id="af22ef95b945d8fd101d72fa5f82245b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af22ef95b945d8fd101d72fa5f82245b6">&#9670;&nbsp;</a></span>wshort_stackstring</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#af22ef95b945d8fd101d72fa5f82245b6">boost::nowide::wshort_stackstring</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;wchar_t, char, 16&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convenience typedef </p>
</div>
</div>
<a id="a00795a1ea327d62c71823c1edc8fe8d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00795a1ea327d62c71823c1edc8fe8d2">&#9670;&nbsp;</a></span>wstackstring</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="namespaceboost_1_1nowide.html#a00795a1ea327d62c71823c1edc8fe8d2">boost::nowide::wstackstring</a> = typedef <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>&lt;wchar_t, char, 256&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Convenience typedef </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2a1050806ab54313352e937ceb8f21a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a1050806ab54313352e937ceb8f21a6">&#9670;&nbsp;</a></span>dummy_exported_function()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void boost::nowide::dummy_exported_function </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Avoid empty compilation unit warnings </p>
</div>
</div>
<a id="ac83059bedb191bbcb73637cd1224589c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac83059bedb191bbcb73637cd1224589c">&#9670;&nbsp;</a></span>getenv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* boost::nowide::getenv </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></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 id="a2c6cc8031fbf04a4d60a50a892d30906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c6cc8031fbf04a4d60a50a892d30906">&#9670;&nbsp;</a></span>narrow() <span class="overload">[1/5]</span></h2>
<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">const wchar_t *&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#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 wide string (UTF-16/32) in range [begin,end) to NULL terminated narrow string (UTF-8) stored in <em>output</em> of size <em>output_size</em> (including NULL)</p>
<p>If there is not enough room NULL is returned, else output is returned. Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </p>
</div>
</div>
<a id="ad13531994f369cf6c2503dd2a977e899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad13531994f369cf6c2503dd2a977e899">&#9670;&nbsp;</a></span>narrow() <span class="overload">[2/5]</span></h2>
<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">const wchar_t *&#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 wide string (UTF-16/32) to NULL terminated narrow string (UTF-8) stored in <em>output</em> of size <em>output_size</em> (including NULL)</p>
<p>If there is not enough room NULL is returned, else output is returned. Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </p>
</div>
</div>
<a id="a130791c437ed5488bd84df26f3df43bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a130791c437ed5488bd84df26f3df43bb">&#9670;&nbsp;</a></span>narrow() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_Char , typename = detail::requires_wide_char&lt;T_Char&gt;&gt; </div>
<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">const T_Char *&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>count</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 wide string (UTF-16/32) to narrow string (UTF-8).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>Input string </td></tr>
<tr><td class="paramname">count</td><td>Number of characters to convert Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a0e32bb1b9c43f31a2d43f53245ffaed3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e32bb1b9c43f31a2d43f53245ffaed3">&#9670;&nbsp;</a></span>narrow() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_Char , typename = detail::requires_wide_char&lt;T_Char&gt;&gt; </div>
<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">const T_Char *&#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 wide string (UTF-16/32) to narrow string (UTF-8).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>NULL terminated input string Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a44e8032162501afa54694bbb6c14be35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44e8032162501afa54694bbb6c14be35">&#9670;&nbsp;</a></span>narrow() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename StringOrStringView , typename = detail::requires_wide_string_container&lt;StringOrStringView&gt;&gt; </div>
<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">const StringOrStringView &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 wide string (UTF-16/32) to narrow string (UTF-8).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>Input string Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a00544a475ceab4163eb8c12ee80eb9ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00544a475ceab4163eb8c12ee80eb9ec">&#9670;&nbsp;</a></span>nowide_filesystem()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::locale 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>Install <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 id="ad42e1fc3dd7ac556a551fbac3fa553e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad42e1fc3dd7ac556a551fbac3fa553e3">&#9670;&nbsp;</a></span>putenv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::putenv </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>string</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Adds or changes an environment variable, <em>string</em> must be in format KEY=VALUE. </p>
<p><em>string</em> MAY become part of the environment, hence changes to the value MAY change the environment. For portability it is hence recommended NOT to change it. <em>string</em> is UTF-8 on Windows </p><dl class="section return"><dt>Returns</dt><dd>zero on success, else nonzero </dd></dl>
</div>
</div>
<a id="abcf2b99df60f5fe8c5160ee2c29154ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcf2b99df60f5fe8c5160ee2c29154ea">&#9670;&nbsp;</a></span>setenv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::setenv </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#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>overwrite</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set environment variable <em>key</em> to <em>value</em>. </p>
<p>if overwrite is not 0, that the old value is always overwritten, otherwise, if the variable exists it remains unchanged</p>
<p><em>key</em> and <em>value</em> are UTF-8 on Windows </p><dl class="section return"><dt>Returns</dt><dd>zero on success, else nonzero </dd></dl>
</div>
</div>
<a id="a4eb5b391f04d80ba00f37725cd9c5356"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eb5b391f04d80ba00f37725cd9c5356">&#9670;&nbsp;</a></span>stat() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::stat </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceboost_1_1nowide.html#a61eecc2b14a6045459fc7adc4d53017c">stat_t</a> *&#160;</td>
<td class="paramname"><em>buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>UTF-8 aware stat function, returns 0 on success. </p>
<p>Return information about a file from an UTF-8 encoded path </p>
</div>
</div>
<a id="a6ba612d55b59b53f8700ad006b8b4301"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ba612d55b59b53f8700ad006b8b4301">&#9670;&nbsp;</a></span>stat() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::stat </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceboost_1_1nowide.html#ab4992fd8039bd8478db74e5aa0c92e63">posix_stat_t</a> *&#160;</td>
<td class="paramname"><em>buffer</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 stat function, returns 0 on success. </p>
<p>Return information about a file from an UTF-8 encoded path </p>
</div>
</div>
<a id="a4a2daac05cf950f46679a07b09f97b36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a2daac05cf950f46679a07b09f97b36">&#9670;&nbsp;</a></span>system()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::system </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>cmd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same as std::system but cmd is UTF-8. </p>
</div>
</div>
<a id="add09e67957a286d27f6f703ce1bc775c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add09e67957a286d27f6f703ce1bc775c">&#9670;&nbsp;</a></span>unsetenv()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int boost::nowide::unsetenv </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove environment variable <em>key</em>. </p>
<p><em>key</em> is UTF-8 on Windows </p><dl class="section return"><dt>Returns</dt><dd>zero on success, else nonzero </dd></dl>
</div>
</div>
<a id="ac19f38bffa0370b15ac63c0480b85351"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac19f38bffa0370b15ac63c0480b85351">&#9670;&nbsp;</a></span>widen() <span class="overload">[1/5]</span></h2>
<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">const char *&#160;</td>
<td class="paramname"><em>begin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#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 narrow string (UTF-8) in range [begin,end) to NULL terminated wide string (UTF-16/32) stored in <em>output</em> of size <em>output_size</em> (including NULL)</p>
<p>If there is not enough room NULL is returned, else output is returned. Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </p>
</div>
</div>
<a id="abd7ec301ec2235d04e758c7d324ebb62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd7ec301ec2235d04e758c7d324ebb62">&#9670;&nbsp;</a></span>widen() <span class="overload">[2/5]</span></h2>
<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">const char *&#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 narrow string (UTF-8) to NULL terminated wide string (UTF-16/32) most output_size (including NULL)</p>
<p>If there is not enough room NULL is returned, else output is returned. Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </p>
</div>
</div>
<a id="af1d4f99d38bc01adaac1b83c20ab36bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1d4f99d38bc01adaac1b83c20ab36bf">&#9670;&nbsp;</a></span>widen() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_Char , typename = detail::requires_narrow_char&lt;T_Char&gt;&gt; </div>
<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">const T_Char *&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>count</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 narrow string (UTF-8) to wide string (UTF-16/32).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>Input string </td></tr>
<tr><td class="paramname">count</td><td>Number of characters to convert Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2547e4b3e9f0dfa34ce114bbc0392c53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2547e4b3e9f0dfa34ce114bbc0392c53">&#9670;&nbsp;</a></span>widen() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T_Char , typename = detail::requires_narrow_char&lt;T_Char&gt;&gt; </div>
<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">const T_Char *&#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 narrow string (UTF-8) to wide string (UTF-16/32).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>NULL terminated input string Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acd45140e35eefe41074ae55457959eb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd45140e35eefe41074ae55457959eb6">&#9670;&nbsp;</a></span>widen() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename StringOrStringView , typename = detail::requires_narrow_string_container&lt;StringOrStringView&gt;&gt; </div>
<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">const StringOrStringView &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 narrow string (UTF-8) to wide string (UTF-16/32).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>Input string Any illegal sequences are replaced with the replacement character, see <a class="el" href="replacement_8hpp.html#a51c35d4bbf84bc443caab9afce302447">BOOST_NOWIDE_REPLACEMENT_CHARACTER</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="ae2fae63f1575764692d8ee82fb5a30ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae2fae63f1575764692d8ee82fb5a30ee">&#9670;&nbsp;</a></span>cerr</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::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 id="a75088765b2dd2db057614d27e93b786a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75088765b2dd2db057614d27e93b786a">&#9670;&nbsp;</a></span>cin</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::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 id="a0492a3d087f2c8ad7b8196434aa25fe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0492a3d087f2c8ad7b8196434aa25fe7">&#9670;&nbsp;</a></span>clog</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::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 id="ae41f002fbf0b6b1941cc5737f8c36d07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae41f002fbf0b6b1941cc5737f8c36d07">&#9670;&nbsp;</a></span>cout</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detail::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.15
</small></address>
</body>
</html>