Add doc/html
74
doc/html/annotated.html
Normal file
@@ -0,0 +1,74 @@
|
||||
<!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: Class List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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 class="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><b>boost</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceboost_1_1nowide.html" target="_self">nowide</a></td><td class="desc">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) </td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1args.html" target="_self">args</a></td><td class="desc">Args is a class that fixes standard main() function arguments and changes them to UTF-8 under Microsoft Windows </td></tr>
|
||||
<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html" target="_self">basic_filebuf</a></td><td class="desc">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 </td></tr>
|
||||
<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html" target="_self">basic_filebuf< char ></a></td><td class="desc">This is implementation of std::filebuf </td></tr>
|
||||
<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html" target="_self">basic_fstream</a></td><td class="desc">Same as std::basic_fstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html" target="_self">basic_ifstream</a></td><td class="desc">Same as std::basic_ifstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_0_0_5_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html" target="_self">basic_ofstream</a></td><td class="desc">Same as std::basic_ofstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_0_0_6_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html" target="_self">basic_stackstring</a></td><td class="desc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source </td></tr>
|
||||
<tr id="row_0_0_7_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html" target="_self">utf8_codecvt</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_8_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html" target="_self">utf8_codecvt< CharType, 2 ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_9_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html" target="_self">utf8_codecvt< CharType, 4 ></a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
210
doc/html/args_8hpp_source.html
Normal file
@@ -0,0 +1,210 @@
|
||||
<!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/args.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">args.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_ARGS_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_ARGS_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/nowide/stackstring.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <vector></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#ifdef BOOST_WINDOWS</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <boost/nowide/windows.hpp></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html"> 19</a></span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"> #if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1args.html">args</a> {</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <a class="code" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">args</a>(<span class="keywordtype">int</span> &,<span class="keywordtype">char</span> **&) {}</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <a class="code" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">args</a>(<span class="keywordtype">int</span> &,<span class="keywordtype">char</span> **&,<span class="keywordtype">char</span> **&){}</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <a class="code" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">~args</a>() {}</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  };</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1args.html"> 42</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1args.html">args</a> {</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d"> 48</a></span>  <a class="code" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">args</a>(<span class="keywordtype">int</span> &argc,<span class="keywordtype">char</span> **&argv) :</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  old_argc_(argc),</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  old_argv_(argv),</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  old_env_(0),</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  old_argc_ptr_(&argc),</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  old_argv_ptr_(&argv),</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  old_env_ptr_(0)</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  fix_args(argc,argv);</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1args.html#ad0a127015e74d6d72986f646f76a15c3"> 61</a></span>  <a class="code" href="classboost_1_1nowide_1_1args.html#ad0a127015e74d6d72986f646f76a15c3">args</a>(<span class="keywordtype">int</span> &argc,<span class="keywordtype">char</span> **&argv,<span class="keywordtype">char</span> **&en) :</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  old_argc_(argc),</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  old_argv_(argv),</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  old_env_(en),</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  old_argc_ptr_(&argc),</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  old_argv_ptr_(&argv),</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  old_env_ptr_(&en)</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  fix_args(argc,argv);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  fix_env(en);</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2"> 75</a></span>  <a class="code" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">~args</a>()</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  {</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">if</span>(old_argc_ptr_)</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  *old_argc_ptr_ = old_argc_;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span>(old_argv_ptr_)</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  *old_argv_ptr_ = old_argv_;</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span>(old_env_ptr_) </div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  *old_env_ptr_ = old_env_;</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">private</span>: </div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">void</span> fix_args(<span class="keywordtype">int</span> &argc,<span class="keywordtype">char</span> **&argv)</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  {</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">int</span> wargc;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">wchar_t</span> **wargv = CommandLineToArgvW(GetCommandLineW(),&wargc);</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span>(!wargv) {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  argc = 0;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">static</span> <span class="keywordtype">char</span> *dummy = 0;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  argv = &dummy;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">try</span>{ </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  args_.resize(wargc+1,0);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  arg_values_.resize(wargc);</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0;i<wargc;i++) {</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span>(!arg_values_[i].convert(wargv[i])) {</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  wargc = i;</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  args_[i] = arg_values_[i].c_str();</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  argc = wargc;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  argv = &args_[0];</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">catch</span>(...) {</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  LocalFree(wargv);</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">throw</span>;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  LocalFree(wargv);</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">void</span> fix_env(<span class="keywordtype">char</span> **&en)</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">static</span> <span class="keywordtype">char</span> *dummy = 0;</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  en = &dummy;</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordtype">wchar_t</span> *wstrings = GetEnvironmentStringsW();</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span>(!wstrings)</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">try</span> {</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">wchar_t</span> *wstrings_end = 0;</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">int</span> count = 0;</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">for</span>(wstrings_end = wstrings;*wstrings_end;wstrings_end+=wcslen(wstrings_end)+1)</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  count++;</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">if</span>(env_.convert(wstrings,wstrings_end)) {</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  envp_.resize(count+1,0);</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">char</span> *p=env_.c_str();</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordtype">int</span> pos = 0;</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0;i<count;i++) {</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">if</span>(*p!=<span class="charliteral">'='</span>)</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  envp_[pos++] = p;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  p+=strlen(p)+1;</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  en = &envp_[0];</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">catch</span>(...) {</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  FreeEnvironmentStringsW(wstrings);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">throw</span>;</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  }</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  FreeEnvironmentStringsW(wstrings);</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  std::vector<char *> args_;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  std::vector<short_stackstring> arg_values_;</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">stackstring</a> env_;</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  std::vector<char *> envp_;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">int</span> old_argc_;</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">char</span> **old_argv_;</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">char</span> **old_env_;</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordtype">int</span> *old_argc_ptr_;</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">char</span> ***old_argv_ptr_;</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">char</span> ***old_env_ptr_;</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  };</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1args_html_ad0a127015e74d6d72986f646f76a15c3"><div class="ttname"><a href="classboost_1_1nowide_1_1args.html#ad0a127015e74d6d72986f646f76a15c3">boost::nowide::args::args</a></div><div class="ttdeci">args(int &argc, char **&argv, char **&en)</div><div class="ttdef"><b>Definition:</b> args.hpp:61</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1args_html"><div class="ttname"><a href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a></div><div class="ttdoc">args is a class that fixes standard main() function arguments and changes them to UTF-8 under Microso...</div><div class="ttdef"><b>Definition:</b> args.hpp:42</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1args_html_a3ff755fe4f03cc192f31121d5ea78d7d"><div class="ttname"><a href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">boost::nowide::args::args</a></div><div class="ttdeci">args(int &argc, char **&argv)</div><div class="ttdef"><b>Definition:</b> args.hpp:48</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_acd4c19d4e98ae3e50b08ef2ef5056a12"><div class="ttname"><a href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide::stackstring</a></div><div class="ttdeci">basic_stackstring< char, wchar_t, 256 > stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:138</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1args_html_a78a61e8fe5bb40884f8b3038b98762b2"><div class="ttname"><a href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">boost::nowide::args::~args</a></div><div class="ttdeci">~args()</div><div class="ttdef"><b>Definition:</b> args.hpp:75</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/bc_s.png
Normal file
|
After Width: | Height: | Size: 676 B |
BIN
doc/html/bdwn.png
Normal file
|
After Width: | Height: | Size: 147 B |
175
doc/html/cenv_8hpp_source.html
Normal file
@@ -0,0 +1,175 @@
|
||||
<!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/cenv.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cenv.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CENV_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CENV_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <string></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <stdexcept></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <stdlib.h></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <boost/nowide/stackstring.hpp></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <vector></span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifdef BOOST_WINDOWS</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include <boost/nowide/windows.hpp></span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"> #if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  using ::getenv;</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  using ::setenv;</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  using ::unsetenv;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  using ::putenv;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">inline</span> <span class="keywordtype">char</span> *<a class="code" href="namespaceboost_1_1nowide.html#a6644397c539754076b11e95c535be192">getenv</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *key)</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">static</span> <a class="code" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">stackstring</a> value;</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">wshort_stackstring</a> name;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">if</span>(!name.convert(key))</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> buf_size = 64;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordtype">wchar_t</span> buf[buf_size];</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  std::vector<wchar_t> tmp;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordtype">wchar_t</span> *ptr = buf;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordtype">size_t</span> n = GetEnvironmentVariableW(name.c_str(),buf,buf_size);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">if</span>(n == 0 && GetLastError() == 203) <span class="comment">// ERROR_ENVVAR_NOT_FOUND</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">if</span>(n >= buf_size) {</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  tmp.resize(n+1,L<span class="charliteral">'\0'</span>);</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  n = GetEnvironmentVariableW(name.c_str(),&tmp[0],<span class="keyword">static_cast<</span><span class="keywordtype">unsigned</span><span class="keyword">></span>(tmp.size() - 1));</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// The size may have changed</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">if</span>(n >= tmp.size() - 1)</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  ptr = &tmp[0];</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">if</span>(!value.convert(ptr))</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> value.c_str();</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2"> 68</a></span>  <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2">setenv</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *key,<span class="keywordtype">char</span> <span class="keyword">const</span> *value,<span class="keywordtype">int</span> <span class="keyword">override</span>)</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wshort_stackstring</a> name;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">if</span>(!name.convert(key))</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">if</span>(!<span class="keyword">override</span>) {</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">wchar_t</span> unused[2];</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span>(!(GetEnvironmentVariableW(name.c_str(),unused,2)==0 && GetLastError() == 203)) <span class="comment">// ERROR_ENVVAR_NOT_FOUND</span></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wval;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span>(!wval.convert(value))</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span>(SetEnvironmentVariableW(name.c_str(),wval.c_str()))</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6"> 88</a></span>  <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6">unsetenv</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *key)</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wshort_stackstring</a> name;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span>(!name.convert(key))</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span>(SetEnvironmentVariableW(name.c_str(),0))</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3"> 100</a></span>  <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3">putenv</a>(<span class="keywordtype">char</span> *<span class="keywordtype">string</span>)</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *key = string;</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *key_end = string;</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">while</span>(*key_end!=<span class="charliteral">'='</span> && key_end!=<span class="charliteral">'\0'</span>)</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  key_end++;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span>(*key_end == <span class="charliteral">'\0'</span>)</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wshort_stackstring</a> wkey;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span>(!wkey.convert(key,key_end))</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  </div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wvalue;</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span>(!wvalue.convert(key_end+1))</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span>(SetEnvironmentVariableW(wkey.c_str(),wvalue.c_str()))</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a8369c10c0df6e36cd10cb9f9beb3149d"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">boost::nowide::wshort_stackstring</a></div><div class="ttdeci">basic_stackstring< wchar_t, char, 16 > wshort_stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:142</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a19d4925ea2c77e0b2abd8f5d045a8af2"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2">boost::nowide::setenv</a></div><div class="ttdeci">int setenv(char const *key, char const *value, int override)</div><div class="ttdoc">UTF-8 aware setenv, key - the variable name, value is a new UTF-8 value,. </div><div class="ttdef"><b>Definition:</b> cenv.hpp:68</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_ad42e1fc3dd7ac556a551fbac3fa553e3"><div class="ttname"><a href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3">boost::nowide::putenv</a></div><div class="ttdeci">int putenv(char *string)</div><div class="ttdoc">UTF-8 aware putenv implementation, expects string in format KEY=VALUE. </div><div class="ttdef"><b>Definition:</b> cenv.hpp:100</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a61c3e97d5b8fd9c9a1812e2004ef7db6"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6">boost::nowide::unsetenv</a></div><div class="ttdeci">int unsetenv(char const *key)</div><div class="ttdoc">Remove enviroment variable key. </div><div class="ttdef"><b>Definition:</b> cenv.hpp:88</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a6644397c539754076b11e95c535be192"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a6644397c539754076b11e95c535be192">boost::nowide::getenv</a></div><div class="ttdeci">char * getenv(char const *key)</div><div class="ttdoc">UTF-8 aware getenv. Returns 0 if the variable is not set. </div><div class="ttdef"><b>Definition:</b> cenv.hpp:35</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_acd4c19d4e98ae3e50b08ef2ef5056a12"><div class="ttname"><a href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide::stackstring</a></div><div class="ttdeci">basic_stackstring< char, wchar_t, 256 > stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:138</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__stackstring_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring</a></div><div class="ttdoc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:25</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
68
doc/html/classboost_1_1nowide_1_1args-members.html
Normal file
@@ -0,0 +1,68 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1args.html">args</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::args Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">args</a>(int &argc, char **&argv)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html#ad0a127015e74d6d72986f646f76a15c3">args</a>(int &argc, char **&argv, char **&en)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">~args</a>()</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
189
doc/html/classboost_1_1nowide_1_1args.html
Normal file
@@ -0,0 +1,189 @@
|
||||
<!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::args Class 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1args.html">args</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1args-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::args Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>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></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="args_8hpp_source.html">boost/nowide/args.hpp</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a3ff755fe4f03cc192f31121d5ea78d7d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">args</a> (int &argc, char **&argv)</td></tr>
|
||||
<tr class="separator:a3ff755fe4f03cc192f31121d5ea78d7d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad0a127015e74d6d72986f646f76a15c3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1args.html#ad0a127015e74d6d72986f646f76a15c3">args</a> (int &argc, char **&argv, char **&en)</td></tr>
|
||||
<tr class="separator:ad0a127015e74d6d72986f646f76a15c3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a78a61e8fe5bb40884f8b3038b98762b2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">~args</a> ()</td></tr>
|
||||
<tr class="separator:a78a61e8fe5bb40884f8b3038b98762b2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>args is a class that fixes standard main() function arguments and changes them to UTF-8 under Microsoft Windows. </p>
|
||||
<p>The class uses <code>GetCommandLineW()</code>, <code>CommandLineToArgvW()</code> and <code>GetEnvironmentStringsW()</code> in order to obtain the information. It does not relates to actual values of argc,argv and env under Windows.</p>
|
||||
<p>It restores the original values in its destructor</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>the class owns the memory of the newly allocated strings </dd></dl>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" id="a3ff755fe4f03cc192f31121d5ea78d7d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">boost::nowide::args::args </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"><em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char **& </td>
|
||||
<td class="paramname"><em>argv</em> </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>Fix command line agruments </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad0a127015e74d6d72986f646f76a15c3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">boost::nowide::args::args </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"><em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char **& </td>
|
||||
<td class="paramname"><em>argv</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char **& </td>
|
||||
<td class="paramname"><em>en</em> </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>Fix command line agruments and environment </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a78a61e8fe5bb40884f8b3038b98762b2"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">boost::nowide::args::~args </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>Restore original argc,argv,env values, if changed </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="args_8hpp_source.html">args.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
76
doc/html/classboost_1_1nowide_1_1basic__filebuf.html
Normal file
@@ -0,0 +1,76 @@
|
||||
<!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::basic_filebuf< CharType, Traits > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_filebuf< CharType, Traits > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>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></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="filebuf_8hpp_source.html">boost/nowide/filebuf.hpp</a>></code></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename CharType, typename Traits = std::char_traits<CharType>><br />
|
||||
class boost::nowide::basic_filebuf< CharType, Traits ></h3>
|
||||
|
||||
<p>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. </p>
|
||||
<p>it is implemented and specialized for CharType = char, it behaves implements std::filebuf over standard C I/O </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="filebuf_8hpp_source.html">filebuf.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,78 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf< char ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_filebuf< char > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">basic_filebuf</a>()</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">close</a>()</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">is_open</a>() const </td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">open</a>(std::string const &s, std::ios_base::openmode mode)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a72533238e5f64668fca85fa9655360df">open</a>(char const *s, std::ios_base::openmode mode)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>overflow</b>(int c) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pbackfail</b>(int) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>seekoff</b>(std::streamoff off, std::ios_base::seekdir seekdir, std::ios_base::openmode) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>seekpos</b>(std::streampos off, std::ios_base::openmode m) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>setbuf</b>(char *s, std::streamsize n) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sync</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>underflow</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~basic_filebuf</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,270 @@
|
||||
<!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::basic_filebuf< char > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf< char ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_filebuf< char > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is implementation of std::filebuf.
|
||||
<a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="filebuf_8hpp_source.html">boost/nowide/filebuf.hpp</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::basic_filebuf< char >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.png" usemap="#boost::nowide::basic_filebuf< char >_map" alt=""/>
|
||||
<map id="boost::nowide::basic_filebuf< char >_map" name="boost::nowide::basic_filebuf< char >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acb60c4ffe2ba0d574f348ee4e7c02029"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">basic_filebuf</a> ()</td></tr>
|
||||
<tr class="separator:acb60c4ffe2ba0d574f348ee4e7c02029"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1e5de49ebc04817924f64687c709b876"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">open</a> (std::string const &s, std::ios_base::openmode mode)</td></tr>
|
||||
<tr class="separator:a1e5de49ebc04817924f64687c709b876"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a72533238e5f64668fca85fa9655360df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a72533238e5f64668fca85fa9655360df">open</a> (char const *s, std::ios_base::openmode mode)</td></tr>
|
||||
<tr class="separator:a72533238e5f64668fca85fa9655360df"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5d28c29a18add5fbcd0456e75be753a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">close</a> ()</td></tr>
|
||||
<tr class="separator:a5d28c29a18add5fbcd0456e75be753a6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a23b677285f14f7f1619d5652e043bc06"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">is_open</a> () const </td></tr>
|
||||
<tr class="separator:a23b677285f14f7f1619d5652e043bc06"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:aaf3b52f821e0c5cd86e0b881ad0e2a3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf3b52f821e0c5cd86e0b881ad0e2a3f"></a>
|
||||
virtual std::streambuf * </td><td class="memItemRight" valign="bottom"><b>setbuf</b> (char *s, std::streamsize n)</td></tr>
|
||||
<tr class="separator:aaf3b52f821e0c5cd86e0b881ad0e2a3f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a10eaeb8546c3d0621941cef00f308c69"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10eaeb8546c3d0621941cef00f308c69"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>overflow</b> (int c)</td></tr>
|
||||
<tr class="separator:a10eaeb8546c3d0621941cef00f308c69"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab4fb38d739605d0e0f7f1ef303f91330"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4fb38d739605d0e0f7f1ef303f91330"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>sync</b> ()</td></tr>
|
||||
<tr class="separator:ab4fb38d739605d0e0f7f1ef303f91330"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5831d7380742eff8c237d504d0d1e034"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5831d7380742eff8c237d504d0d1e034"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>underflow</b> ()</td></tr>
|
||||
<tr class="separator:a5831d7380742eff8c237d504d0d1e034"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0841be6da0826d44391fde59e83f7d38"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0841be6da0826d44391fde59e83f7d38"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>pbackfail</b> (int)</td></tr>
|
||||
<tr class="separator:a0841be6da0826d44391fde59e83f7d38"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9e762649c5007092164266547edd0e8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e762649c5007092164266547edd0e8e"></a>
|
||||
std::streampos </td><td class="memItemRight" valign="bottom"><b>seekoff</b> (std::streamoff off, std::ios_base::seekdir seekdir, std::ios_base::openmode)</td></tr>
|
||||
<tr class="separator:a9e762649c5007092164266547edd0e8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab4b7da7ee4ac530aa8475bc411c74080"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b7da7ee4ac530aa8475bc411c74080"></a>
|
||||
std::streampos </td><td class="memItemRight" valign="bottom"><b>seekpos</b> (std::streampos off, std::ios_base::openmode m)</td></tr>
|
||||
<tr class="separator:ab4b7da7ee4ac530aa8475bc411c74080"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<><br />
|
||||
class boost::nowide::basic_filebuf< char ></h3>
|
||||
|
||||
<p>This is implementation of std::filebuf. </p>
|
||||
<p>it is implemented and specialized for CharType = char, it behaves implements std::filebuf over standard C I/O </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" id="acb60c4ffe2ba0d574f348ee4e7c02029"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a>< char >::<a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> </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>Creates new filebuf </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="a5d28c29a18add5fbcd0456e75be753a6"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>* <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a>< char >::close </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>Same as std::filebuf::close() </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a23b677285f14f7f1619d5652e043bc06"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a>< char >::is_open </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</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::filebuf::is_open() </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1e5de49ebc04817924f64687c709b876"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>* <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a>< char >::open </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">std::string const & </td>
|
||||
<td class="paramname"><em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::ios_base::openmode </td>
|
||||
<td class="paramname"><em>mode</em> </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 std::filebuf::open but s is UTF-8 string </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a72533238e5f64668fca85fa9655360df"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>* <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a>< char >::open </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">std::ios_base::openmode </td>
|
||||
<td class="paramname"><em>mode</em> </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 std::filebuf::open but s is UTF-8 string </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="filebuf_8hpp_source.html">filebuf.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 791 B |
77
doc/html/classboost_1_1nowide_1_1basic__fstream-members.html
Normal file
@@ -0,0 +1,77 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_fstream< CharType, Traits > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_fstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>basic_fstream</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_fstream</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>close</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_buffer_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>internal_stream_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_open</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>is_open</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>open</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>open</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rdbuf</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~basic_fstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
126
doc/html/classboost_1_1nowide_1_1basic__fstream.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!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::basic_fstream< CharType, Traits > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1basic__fstream-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_fstream< CharType, Traits > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Same as std::basic_fstream<char> but accepts UTF-8 strings under Windows.
|
||||
<a href="classboost_1_1nowide_1_1basic__fstream.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="fstream_8hpp_source.html">boost/nowide/fstream.hpp</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::basic_fstream< CharType, Traits >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1basic__fstream.png" usemap="#boost::nowide::basic_fstream< CharType, Traits >_map" alt=""/>
|
||||
<map id="boost::nowide::basic_fstream< CharType, Traits >_map" name="boost::nowide::basic_fstream< CharType, Traits >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a65e45af4ab7298c95e95f2dec07ce48b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65e45af4ab7298c95e95f2dec07ce48b"></a>
|
||||
typedef <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a><br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_buffer_type</b></td></tr>
|
||||
<tr class="separator:a65e45af4ab7298c95e95f2dec07ce48b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab69bc2f61761c28f98f7840021181eb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab69bc2f61761c28f98f7840021181eb8"></a>
|
||||
typedef std::basic_iostream<br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_stream_type</b></td></tr>
|
||||
<tr class="separator:ab69bc2f61761c28f98f7840021181eb8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a3e9a6fda84ba88793887a44095bec9a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e9a6fda84ba88793887a44095bec9a9"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_fstream</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::in)</td></tr>
|
||||
<tr class="separator:a3e9a6fda84ba88793887a44095bec9a9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4eba7dd4f5c5c6a67237411c2ee1bd78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4eba7dd4f5c5c6a67237411c2ee1bd78"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_fstream</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::in)</td></tr>
|
||||
<tr class="separator:a4eba7dd4f5c5c6a67237411c2ee1bd78"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afbfd359ba6ae29fcaed675efbf2d885f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbfd359ba6ae29fcaed675efbf2d885f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::out)</td></tr>
|
||||
<tr class="separator:afbfd359ba6ae29fcaed675efbf2d885f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa6f0c691615162e58e0217c9cb49cd1c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6f0c691615162e58e0217c9cb49cd1c"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::out|std::ios_base::out)</td></tr>
|
||||
<tr class="separator:aa6f0c691615162e58e0217c9cb49cd1c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a99b26c7562e376975c008f52d34ee2b5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99b26c7562e376975c008f52d34ee2b5"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> ()</td></tr>
|
||||
<tr class="separator:a99b26c7562e376975c008f52d34ee2b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab50ba0b0f46bc57b8b82971ec331b7c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab50ba0b0f46bc57b8b82971ec331b7c7"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> () const </td></tr>
|
||||
<tr class="separator:ab50ba0b0f46bc57b8b82971ec331b7c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a281b5fa212668ed97de84294cb7ebd27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a281b5fa212668ed97de84294cb7ebd27"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>close</b> ()</td></tr>
|
||||
<tr class="separator:a281b5fa212668ed97de84294cb7ebd27"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae02afa89e0b38ca68532dd19efb50e4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae02afa89e0b38ca68532dd19efb50e4b"></a>
|
||||
<a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> * </td><td class="memItemRight" valign="bottom"><b>rdbuf</b> () const </td></tr>
|
||||
<tr class="separator:ae02afa89e0b38ca68532dd19efb50e4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename CharType, typename Traits = std::char_traits<CharType>><br />
|
||||
class boost::nowide::basic_fstream< CharType, Traits ></h3>
|
||||
|
||||
<p>Same as std::basic_fstream<char> but accepts UTF-8 strings under Windows. </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="fstream_8hpp_source.html">fstream.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/classboost_1_1nowide_1_1basic__fstream.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,77 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_ifstream< CharType, Traits > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_ifstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>basic_ifstream</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_ifstream</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>close</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_buffer_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>internal_stream_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_open</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>is_open</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>open</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>open</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::in) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rdbuf</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~basic_ifstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
126
doc/html/classboost_1_1nowide_1_1basic__ifstream.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!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::basic_ifstream< CharType, Traits > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1basic__ifstream-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_ifstream< CharType, Traits > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Same as std::basic_ifstream<char> but accepts UTF-8 strings under Windows.
|
||||
<a href="classboost_1_1nowide_1_1basic__ifstream.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="fstream_8hpp_source.html">boost/nowide/fstream.hpp</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::basic_ifstream< CharType, Traits >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1basic__ifstream.png" usemap="#boost::nowide::basic_ifstream< CharType, Traits >_map" alt=""/>
|
||||
<map id="boost::nowide::basic_ifstream< CharType, Traits >_map" name="boost::nowide::basic_ifstream< CharType, Traits >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a805946f9d6875232f6d1be547affd12b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a805946f9d6875232f6d1be547affd12b"></a>
|
||||
typedef <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a><br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_buffer_type</b></td></tr>
|
||||
<tr class="separator:a805946f9d6875232f6d1be547affd12b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad8aefbed1a6e2f95e383f5212ef4ec6f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8aefbed1a6e2f95e383f5212ef4ec6f"></a>
|
||||
typedef std::basic_istream<br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_stream_type</b></td></tr>
|
||||
<tr class="separator:ad8aefbed1a6e2f95e383f5212ef4ec6f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a3339c0400ec58d93027adeebed5d4faa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3339c0400ec58d93027adeebed5d4faa"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_ifstream</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::in)</td></tr>
|
||||
<tr class="separator:a3339c0400ec58d93027adeebed5d4faa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9fa3ed83ef93c573ef527e0437f65c60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fa3ed83ef93c573ef527e0437f65c60"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_ifstream</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::in)</td></tr>
|
||||
<tr class="separator:a9fa3ed83ef93c573ef527e0437f65c60"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af9a2c7f9131606c1d3ff8f5815bd896f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9a2c7f9131606c1d3ff8f5815bd896f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::in)</td></tr>
|
||||
<tr class="separator:af9a2c7f9131606c1d3ff8f5815bd896f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0a42dde63042b7acf46c7a44b59f7367"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a42dde63042b7acf46c7a44b59f7367"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::in)</td></tr>
|
||||
<tr class="separator:a0a42dde63042b7acf46c7a44b59f7367"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a102075535d2b5face310631e5925a589"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a102075535d2b5face310631e5925a589"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> ()</td></tr>
|
||||
<tr class="separator:a102075535d2b5face310631e5925a589"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6a007151517eea9da7c0eca2ce6d3b3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a007151517eea9da7c0eca2ce6d3b3f"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> () const </td></tr>
|
||||
<tr class="separator:a6a007151517eea9da7c0eca2ce6d3b3f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a99a1159f9346c4f506c7dfb2c4df30d4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99a1159f9346c4f506c7dfb2c4df30d4"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>close</b> ()</td></tr>
|
||||
<tr class="separator:a99a1159f9346c4f506c7dfb2c4df30d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a606af26639fc7c168a942f83a729cbc2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a606af26639fc7c168a942f83a729cbc2"></a>
|
||||
<a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> * </td><td class="memItemRight" valign="bottom"><b>rdbuf</b> () const </td></tr>
|
||||
<tr class="separator:a606af26639fc7c168a942f83a729cbc2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename CharType, typename Traits = std::char_traits<CharType>><br />
|
||||
class boost::nowide::basic_ifstream< CharType, Traits ></h3>
|
||||
|
||||
<p>Same as std::basic_ifstream<char> but accepts UTF-8 strings under Windows. </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="fstream_8hpp_source.html">fstream.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/classboost_1_1nowide_1_1basic__ifstream.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,77 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_ofstream< CharType, Traits > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_ofstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>basic_ofstream</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_ofstream</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>close</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>internal_buffer_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>internal_stream_type</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_open</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>is_open</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>open</b>(std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>open</b>(char const *file_name, std::ios_base::openmode mode=std::ios_base::out) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rdbuf</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~basic_ofstream</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
126
doc/html/classboost_1_1nowide_1_1basic__ofstream.html
Normal file
@@ -0,0 +1,126 @@
|
||||
<!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::basic_ofstream< CharType, Traits > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1basic__ofstream-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_ofstream< CharType, Traits > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Same as std::basic_ofstream<char> but accepts UTF-8 strings under Windows.
|
||||
<a href="classboost_1_1nowide_1_1basic__ofstream.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="fstream_8hpp_source.html">boost/nowide/fstream.hpp</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::basic_ofstream< CharType, Traits >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1basic__ofstream.png" usemap="#boost::nowide::basic_ofstream< CharType, Traits >_map" alt=""/>
|
||||
<map id="boost::nowide::basic_ofstream< CharType, Traits >_map" name="boost::nowide::basic_ofstream< CharType, Traits >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a9483f7ab7dc4920a0a7f645b47e0a11b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9483f7ab7dc4920a0a7f645b47e0a11b"></a>
|
||||
typedef <a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a><br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_buffer_type</b></td></tr>
|
||||
<tr class="separator:a9483f7ab7dc4920a0a7f645b47e0a11b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6690c8de5c23675fd37b9be1cbded1ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6690c8de5c23675fd37b9be1cbded1ba"></a>
|
||||
typedef std::basic_ostream<br class="typebreak" />
|
||||
< CharType, Traits > </td><td class="memItemRight" valign="bottom"><b>internal_stream_type</b></td></tr>
|
||||
<tr class="separator:a6690c8de5c23675fd37b9be1cbded1ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:af441b54c77e46745f8d411af735da96c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af441b54c77e46745f8d411af735da96c"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_ofstream</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::out)</td></tr>
|
||||
<tr class="separator:af441b54c77e46745f8d411af735da96c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aeefd2bc1b0bceee383172d5676272de4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeefd2bc1b0bceee383172d5676272de4"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_ofstream</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out)</td></tr>
|
||||
<tr class="separator:aeefd2bc1b0bceee383172d5676272de4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a31a4ace2599e614da6c92b8e2eef72dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31a4ace2599e614da6c92b8e2eef72dd"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (std::string const &file_name, std::ios_base::openmode mode=std::ios_base::out)</td></tr>
|
||||
<tr class="separator:a31a4ace2599e614da6c92b8e2eef72dd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2ab591645dbb282cc7bb1d501e0e9074"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ab591645dbb282cc7bb1d501e0e9074"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>open</b> (char const *file_name, std::ios_base::openmode mode=std::ios_base::out)</td></tr>
|
||||
<tr class="separator:a2ab591645dbb282cc7bb1d501e0e9074"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aae78067907a7c69b30e896b50d1b5914"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae78067907a7c69b30e896b50d1b5914"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> ()</td></tr>
|
||||
<tr class="separator:aae78067907a7c69b30e896b50d1b5914"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a67e1fb82015df2a4bf8e45cdbcb895f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67e1fb82015df2a4bf8e45cdbcb895f6"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_open</b> () const </td></tr>
|
||||
<tr class="separator:a67e1fb82015df2a4bf8e45cdbcb895f6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adff8dc82bdb38cd6d371d412195dadae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adff8dc82bdb38cd6d371d412195dadae"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>close</b> ()</td></tr>
|
||||
<tr class="separator:adff8dc82bdb38cd6d371d412195dadae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abf098f06f4581bc144341aae7f9f62e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf098f06f4581bc144341aae7f9f62e6"></a>
|
||||
<a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> * </td><td class="memItemRight" valign="bottom"><b>rdbuf</b> () const </td></tr>
|
||||
<tr class="separator:abf098f06f4581bc144341aae7f9f62e6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename CharType, typename Traits = std::char_traits<CharType>><br />
|
||||
class boost::nowide::basic_ofstream< CharType, Traits ></h3>
|
||||
|
||||
<p>Same as std::basic_ofstream<char> but accepts UTF-8 strings under Windows. </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="fstream_8hpp_source.html">fstream.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/classboost_1_1nowide_1_1basic__ofstream.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,78 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>basic_stackstring</b>(basic_stackstring const &other) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>basic_stackstring</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>buffer_size</b> (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>c_str</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c_str</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>clear</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>convert</b>(input_char const *input) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>convert</b>(input_char const *begin, input_char const *end) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>input_char</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>operator=</b>(basic_stackstring const &other) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>output_char</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>swap</b>(basic_stackstring &other) (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~basic_stackstring</b>() (defined in <a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
124
doc/html/classboost_1_1nowide_1_1basic__stackstring.html
Normal file
@@ -0,0 +1,124 @@
|
||||
<!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::basic_stackstring< CharOut, CharIn, BufferSize > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
||||
<a href="classboost_1_1nowide_1_1basic__stackstring-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>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></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="stackstring_8hpp_source.html">boost/nowide/stackstring.hpp</a>></code></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:ad27c75b77f7e09b224f2240241eb1d8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad27c75b77f7e09b224f2240241eb1d8e"></a>
|
||||
typedef CharOut </td><td class="memItemRight" valign="bottom"><b>output_char</b></td></tr>
|
||||
<tr class="separator:ad27c75b77f7e09b224f2240241eb1d8e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abd442d8c9d38808af529e17d379b17a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abd442d8c9d38808af529e17d379b17a2"></a>
|
||||
typedef CharIn </td><td class="memItemRight" valign="bottom"><b>input_char</b></td></tr>
|
||||
<tr class="separator:abd442d8c9d38808af529e17d379b17a2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ad6b398a3f803b153b8cf8b111b8b2967"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6b398a3f803b153b8cf8b111b8b2967"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>basic_stackstring</b> (<a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> const &other)</td></tr>
|
||||
<tr class="separator:ad6b398a3f803b153b8cf8b111b8b2967"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac6082cc10b391eff5bbcfd67acfb4ae0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6082cc10b391eff5bbcfd67acfb4ae0"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> &other)</td></tr>
|
||||
<tr class="separator:ac6082cc10b391eff5bbcfd67acfb4ae0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4cf4ee22e156848aab42e12a7ce3949d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cf4ee22e156848aab42e12a7ce3949d"></a>
|
||||
<a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> const &other)</td></tr>
|
||||
<tr class="separator:a4cf4ee22e156848aab42e12a7ce3949d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab09df500c6f874efc3ffc5ea91c8b7a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab09df500c6f874efc3ffc5ea91c8b7a2"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>convert</b> (input_char const *input)</td></tr>
|
||||
<tr class="separator:ab09df500c6f874efc3ffc5ea91c8b7a2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afeb2d3c8504a3044064dff431e7f53ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afeb2d3c8504a3044064dff431e7f53ce"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>convert</b> (input_char const *begin, input_char const *end)</td></tr>
|
||||
<tr class="separator:afeb2d3c8504a3044064dff431e7f53ce"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a577091bdcf754dc76da14c1dadde6b97"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a577091bdcf754dc76da14c1dadde6b97"></a>
|
||||
output_char * </td><td class="memItemRight" valign="bottom"><b>c_str</b> ()</td></tr>
|
||||
<tr class="separator:a577091bdcf754dc76da14c1dadde6b97"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a89c460d961da28aceaeba748cb4071b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89c460d961da28aceaeba748cb4071b3"></a>
|
||||
output_char const * </td><td class="memItemRight" valign="bottom"><b>c_str</b> () const </td></tr>
|
||||
<tr class="separator:a89c460d961da28aceaeba748cb4071b3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa9e4f5f8bc365195606c2b64bc3d4838"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9e4f5f8bc365195606c2b64bc3d4838"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
|
||||
<tr class="separator:aa9e4f5f8bc365195606c2b64bc3d4838"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
||||
Static Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:a0f17260e76c6ec6202febd67723335ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f17260e76c6ec6202febd67723335ff"></a>
|
||||
static const size_t </td><td class="memItemRight" valign="bottom"><b>buffer_size</b> = BufferSize</td></tr>
|
||||
<tr class="separator:a0f17260e76c6ec6202febd67723335ff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename CharOut = wchar_t, typename CharIn = char, size_t BufferSize = 256><br />
|
||||
class boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></h3>
|
||||
|
||||
<p>A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source. </p>
|
||||
<p>It uses on stack buffer of the string is short enough and allocated a buffer on the heap if the size of the buffer is too small </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="stackstring_8hpp_source.html">stackstring.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
65
doc/html/classboost_1_1nowide_1_1utf8__codecvt.html
Normal file
@@ -0,0 +1,65 @@
|
||||
<!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::utf8_codecvt< CharType, CharSize > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::utf8_codecvt< CharType, CharSize > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="utf8__codecvt_8hpp_source.html">utf8_codecvt.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,74 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">utf8_codecvt< CharType, 2 ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::utf8_codecvt< CharType, 2 > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_always_noconv</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_encoding</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_in</b>(std::mbstate_t &std_state, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_length</b>(std::mbstate_t &std_state, char const *from, char const *from_end, size_t max) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_max_length</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_out</b>(std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_unshift</b>(std::mbstate_t &s, char *from, char *, char *&next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>uchar</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>utf8_codecvt</b>(size_t refs=0) (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,115 @@
|
||||
<!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::utf8_codecvt< CharType, 2 > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">utf8_codecvt< CharType, 2 ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-types">Protected Types</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::utf8_codecvt< CharType, 2 > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::utf8_codecvt< CharType, 2 >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.png" usemap="#boost::nowide::utf8_codecvt< CharType, 2 >_map" alt=""/>
|
||||
<map id="boost::nowide::utf8_codecvt< CharType, 2 >_map" name="boost::nowide::utf8_codecvt< CharType, 2 >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a8f8251cd85c221a3366f84ad2be5bdcf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f8251cd85c221a3366f84ad2be5bdcf"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>utf8_codecvt</b> (size_t refs=0)</td></tr>
|
||||
<tr class="separator:a8f8251cd85c221a3366f84ad2be5bdcf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
|
||||
Protected Types</h2></td></tr>
|
||||
<tr class="memitem:a65dd1476aaa08bd455c3248bc7db8416"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65dd1476aaa08bd455c3248bc7db8416"></a>
|
||||
typedef CharType </td><td class="memItemRight" valign="bottom"><b>uchar</b></td></tr>
|
||||
<tr class="separator:a65dd1476aaa08bd455c3248bc7db8416"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:aedf46bc5b51562f2c7bb129725e343dc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedf46bc5b51562f2c7bb129725e343dc"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_unshift</b> (std::mbstate_t &s, char *from, char *, char *&next) const </td></tr>
|
||||
<tr class="separator:aedf46bc5b51562f2c7bb129725e343dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a176d1c3a88c80e7ab925713ea6e51b4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a176d1c3a88c80e7ab925713ea6e51b4b"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_encoding</b> () const throw ()</td></tr>
|
||||
<tr class="separator:a176d1c3a88c80e7ab925713ea6e51b4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7af69c1cd0cf8b72f4419dd2fff0b11d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7af69c1cd0cf8b72f4419dd2fff0b11d"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_max_length</b> () const throw ()</td></tr>
|
||||
<tr class="separator:a7af69c1cd0cf8b72f4419dd2fff0b11d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae2c55b46344a0561dec9fcb1c3073dbb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2c55b46344a0561dec9fcb1c3073dbb"></a>
|
||||
virtual bool </td><td class="memItemRight" valign="bottom"><b>do_always_noconv</b> () const throw ()</td></tr>
|
||||
<tr class="separator:ae2c55b46344a0561dec9fcb1c3073dbb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adcf8e69d97496259b7ecb05f342e7aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcf8e69d97496259b7ecb05f342e7aaa"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_length</b> (std::mbstate_t &std_state, char const *from, char const *from_end, size_t max) const </td></tr>
|
||||
<tr class="separator:adcf8e69d97496259b7ecb05f342e7aaa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac49f945502e7a080c1bc3726c7228a8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac49f945502e7a080c1bc3726c7228a8f"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_in</b> (std::mbstate_t &std_state, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const </td></tr>
|
||||
<tr class="separator:ac49f945502e7a080c1bc3726c7228a8f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acf814458425322bb71778beed7abf277"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf814458425322bb71778beed7abf277"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_out</b> (std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const </td></tr>
|
||||
<tr class="separator:acf814458425322bb71778beed7abf277"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="utf8__codecvt_8hpp_source.html">utf8_codecvt.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,74 @@
|
||||
<!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: Member List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">utf8_codecvt< CharType, 4 ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::utf8_codecvt< CharType, 4 > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_always_noconv</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_encoding</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_in</b>(std::mbstate_t &, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_length</b>(std::mbstate_t &, char const *from, char const *from_end, size_t max) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_max_length</b>() const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>do_out</b>(std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>do_unshift</b>(std::mbstate_t &, char *from, char *, char *&next) const (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>uchar</b> typedef (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>utf8_codecvt</b>(size_t refs=0) (defined in <a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a>)</td><td class="entry"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,115 @@
|
||||
<!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::utf8_codecvt< CharType, 4 > Class Template 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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class 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><li class="navelem"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">utf8_codecvt< CharType, 4 ></a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-types">Protected Types</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">boost::nowide::utf8_codecvt< CharType, 4 > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for boost::nowide::utf8_codecvt< CharType, 4 >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.png" usemap="#boost::nowide::utf8_codecvt< CharType, 4 >_map" alt=""/>
|
||||
<map id="boost::nowide::utf8_codecvt< CharType, 4 >_map" name="boost::nowide::utf8_codecvt< CharType, 4 >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ada2ba88dc55dd5c9f3ef168d563ee77d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ada2ba88dc55dd5c9f3ef168d563ee77d"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>utf8_codecvt</b> (size_t refs=0)</td></tr>
|
||||
<tr class="separator:ada2ba88dc55dd5c9f3ef168d563ee77d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
|
||||
Protected Types</h2></td></tr>
|
||||
<tr class="memitem:ac98739f22f5d8dcc5b80b02ad0daa3b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac98739f22f5d8dcc5b80b02ad0daa3b7"></a>
|
||||
typedef CharType </td><td class="memItemRight" valign="bottom"><b>uchar</b></td></tr>
|
||||
<tr class="separator:ac98739f22f5d8dcc5b80b02ad0daa3b7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a0ebd47dd3c0d8fabbe1456527f840bf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ebd47dd3c0d8fabbe1456527f840bf3"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_unshift</b> (std::mbstate_t &, char *from, char *, char *&next) const </td></tr>
|
||||
<tr class="separator:a0ebd47dd3c0d8fabbe1456527f840bf3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8f6534d714b52b218c1bb83a441ec799"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f6534d714b52b218c1bb83a441ec799"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_encoding</b> () const throw ()</td></tr>
|
||||
<tr class="separator:a8f6534d714b52b218c1bb83a441ec799"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7e21d80c2bd8709ef137ba99d38f0e31"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e21d80c2bd8709ef137ba99d38f0e31"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_max_length</b> () const throw ()</td></tr>
|
||||
<tr class="separator:a7e21d80c2bd8709ef137ba99d38f0e31"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a39140605a9cd51646ee6a46a7e559b83"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39140605a9cd51646ee6a46a7e559b83"></a>
|
||||
virtual bool </td><td class="memItemRight" valign="bottom"><b>do_always_noconv</b> () const throw ()</td></tr>
|
||||
<tr class="separator:a39140605a9cd51646ee6a46a7e559b83"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aed4e49c29989ab3952e55b6d5a90ead8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed4e49c29989ab3952e55b6d5a90ead8"></a>
|
||||
virtual int </td><td class="memItemRight" valign="bottom"><b>do_length</b> (std::mbstate_t &, char const *from, char const *from_end, size_t max) const </td></tr>
|
||||
<tr class="separator:aed4e49c29989ab3952e55b6d5a90ead8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af1048a5db29fd2f2b3604d55d261027d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af1048a5db29fd2f2b3604d55d261027d"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_in</b> (std::mbstate_t &, char const *from, char const *from_end, char const *&from_next, uchar *to, uchar *to_end, uchar *&to_next) const </td></tr>
|
||||
<tr class="separator:af1048a5db29fd2f2b3604d55d261027d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a917d59787f10f0e200028c520742fa57"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a917d59787f10f0e200028c520742fa57"></a>
|
||||
virtual std::codecvt_base::result </td><td class="memItemRight" valign="bottom"><b>do_out</b> (std::mbstate_t &std_state, uchar const *from, uchar const *from_end, uchar const *&from_next, char *to, char *to_end, char *&to_next) const </td></tr>
|
||||
<tr class="separator:a917d59787f10f0e200028c520742fa57"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>boost/nowide/<a class="el" href="utf8__codecvt_8hpp_source.html">utf8_codecvt.hpp</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
72
doc/html/classes.html
Normal file
@@ -0,0 +1,72 @@
|
||||
<!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: Class Index</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class Index</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_U">U</a></div>
|
||||
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  a  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf< char ></a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html">utf8_codecvt< CharType, 2 ></a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td></tr>
|
||||
<tr><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  u  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html">utf8_codecvt< CharType, 4 ></a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td></tr>
|
||||
<tr><td valign="top"><a class="el" href="classboost_1_1nowide_1_1args.html">args</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td></td></tr>
|
||||
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  b  </div></td></tr></table>
|
||||
</td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td valign="top"><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td></td></tr>
|
||||
<tr><td></td><td></td><td></td></tr>
|
||||
<tr><td valign="top"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> (<a class="el" href="namespaceboost_1_1nowide.html">boost::nowide</a>)   </td><td></td><td></td><td></td></tr>
|
||||
<tr><td></td><td></td><td></td><td></td></tr>
|
||||
</table>
|
||||
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_U">U</a></div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/closed.png
Normal file
|
After Width: | Height: | Size: 132 B |
114
doc/html/config_8hpp_source.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<!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/config.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">config.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CONFIG_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CONFIG_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifndef BOOST_SYMBOL_VISIBLE</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"># define BOOST_SYMBOL_VISIBLE</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifdef BOOST_HAS_DECLSPEC </span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"># if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_NOWIDE_DYN_LINK)</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># ifdef BOOST_NOWIDE_SOURCE</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># define BOOST_NOWIDE_DECL BOOST_SYMBOL_EXPORT</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"># else</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"># define BOOST_NOWIDE_DECL BOOST_SYMBOL_IMPORT</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"># endif // BOOST_NOWIDE_SOURCE</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor"># endif // DYN_LINK</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#endif // BOOST_HAS_DECLSPEC</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_DECL</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"># define BOOST_NOWIDE_DECL</span></div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// Automatically link to the correct build variant where possible. </span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// </span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_NOWIDE_NO_LIB) && !defined(BOOST_NOWIDE_SOURCE)</span></div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// Set the name of our library, this will get undef'ed by auto_link.hpp</span></div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// once it's done with it:</span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#define BOOST_LIB_NAME boost_nowide</span></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// If we're importing code from a dll, then tell auto_link.hpp about it:</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_NOWIDE_DYN_LINK)</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"># define BOOST_DYN_LINK</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// And include the header that does the work:</span></div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#include <boost/config/auto_link.hpp></span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor">#endif // auto-linking disabled</span></div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#endif // boost/nowide/config.hpp</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
157
doc/html/convert_8hpp_source.html
Normal file
@@ -0,0 +1,157 @@
|
||||
<!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/convert.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">convert.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CONVERT_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CONVERT_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <string></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/locale/encoding_utf.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keyword">template</span><<span class="keyword">typename</span> CharOut,<span class="keyword">typename</span> CharIn></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece"> 26</a></span>  CharOut *<a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(CharOut *buffer,<span class="keywordtype">size_t</span> buffer_size,CharIn <span class="keyword">const</span> *source_begin,CharIn <span class="keyword">const</span> *source_end)</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  CharOut *rv = buffer;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">if</span>(buffer_size == 0)</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  buffer_size --;</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">while</span>(source_begin!=source_end) {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">using namespace </span>boost::locale::utf;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  code_point c = utf_traits<CharIn>::template decode<CharIn const *>(source_begin,source_end);</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">if</span>(c==illegal || c==incomplete) {</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  rv = 0;</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordtype">size_t</span> width = utf_traits<CharOut>::width(c);</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">if</span>(buffer_size < width) {</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  rv=0;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  }</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  buffer = utf_traits<CharOut>::template encode<CharOut *>(c,buffer);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  buffer_size -= width;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  *buffer++ = 0;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> rv;</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  }</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">namespace </span>details {</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="comment">// wcslen defined only in C99... So we will not use it</span></div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">template</span><<span class="keyword">typename</span> Char></div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  Char <span class="keyword">const</span> *basic_strend(Char <span class="keyword">const</span> *s)</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">while</span>(*s)</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  s++;</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> s;</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a"> 73</a></span>  <span class="keyword">inline</span> <span class="keywordtype">char</span> *<a class="code" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">narrow</a>(<span class="keywordtype">char</span> *output,<span class="keywordtype">size_t</span> output_size,<span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *source)</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(output,output_size,source,details::basic_strend(source));</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a26caaed23d4adf0aa1ed0c1e218fad61"> 84</a></span>  <span class="keyword">inline</span> <span class="keywordtype">char</span> *<a class="code" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">narrow</a>(<span class="keywordtype">char</span> *output,<span class="keywordtype">size_t</span> output_size,<span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *begin,<span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *end)</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(output,output_size,begin,end);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500"> 95</a></span>  <span class="keyword">inline</span> <span class="keywordtype">wchar_t</span> *<a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">widen</a>(<span class="keywordtype">wchar_t</span> *output,<span class="keywordtype">size_t</span> output_size,<span class="keywordtype">char</span> <span class="keyword">const</span> *source)</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  {</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(output,output_size,source,details::basic_strend(source));</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a8bbb3c99ae08169220f3ba02ddf53a80"> 106</a></span>  <span class="keyword">inline</span> <span class="keywordtype">wchar_t</span> *<a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">widen</a>(<span class="keywordtype">wchar_t</span> *output,<span class="keywordtype">size_t</span> output_size,<span class="keywordtype">char</span> <span class="keyword">const</span> *begin,<span class="keywordtype">char</span> <span class="keyword">const</span> *end)</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  {</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(output,output_size,begin,end);</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a13b4f6f7f97f889ec858dde2d367b130"> 117</a></span>  <span class="keyword">inline</span> std::string <a class="code" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">narrow</a>(<span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *s)</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> boost::locale::conv::utf_to_utf<char>(s);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#aa914b18890c98fe5b9d1f1f9db53410a"> 126</a></span>  <span class="keyword">inline</span> std::wstring <a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">widen</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *s)</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  {</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> boost::locale::conv::utf_to_utf<wchar_t>(s);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a3b237483918f54bc0ee7b0d750811fc6"> 135</a></span>  <span class="keyword">inline</span> std::string <a class="code" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">narrow</a>(std::wstring <span class="keyword">const</span> &s) </div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">return</span> boost::locale::conv::utf_to_utf<char>(s);</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a478fc384f85c7fb53158d741d3cc066c"> 144</a></span>  <span class="keyword">inline</span> std::wstring <a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">widen</a>(std::string <span class="keyword">const</span> &s) </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> boost::locale::conv::utf_to_utf<wchar_t>(s);</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_ac2b772caed760a75f611c2dc24153e4a"><div class="ttname"><a href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">boost::nowide::narrow</a></div><div class="ttdeci">char * narrow(char *output, size_t output_size, wchar_t const *source)</div><div class="ttdef"><b>Definition:</b> convert.hpp:73</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a6baacc1bb80c134a2ce37f13977b5500"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide::widen</a></div><div class="ttdeci">wchar_t * widen(wchar_t *output, size_t output_size, char const *source)</div><div class="ttdef"><b>Definition:</b> convert.hpp:95</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a5816b009227ad8cd668881dfb5429ece"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">boost::nowide::basic_convert</a></div><div class="ttdeci">CharOut * basic_convert(CharOut *buffer, size_t buffer_size, CharIn const *source_begin, CharIn const *source_end)</div><div class="ttdoc">Template function that converts a buffer of UTF sequences in range [source_begin,source_end) to the o...</div><div class="ttdef"><b>Definition:</b> convert.hpp:26</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
144
doc/html/cstdio_8hpp_source.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<!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/cstdio.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cstdio.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CSTDIO_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CSTDIO_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <cstdio></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <stdio.h></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <boost/nowide/convert.hpp></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <boost/nowide/stackstring.hpp></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <errno.h></span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma warning(push)</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># pragma warning(disable : 4996)</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">using</span> std::fopen;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">using</span> std::freopen;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">using</span> std::remove;</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">using</span> std::rename;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41"> 38</a></span> <span class="keyword">inline</span> FILE *<a class="code" href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41">freopen</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,<span class="keywordtype">char</span> <span class="keyword">const</span> *mode,FILE *stream)</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wname;</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wshort_stackstring</a> wmode;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span>(!wname.convert(file_name) || !wmode.convert(mode)) {</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  errno = EINVAL;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  }</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> _wfreopen(wname.c_str(),wmode.c_str(),stream);</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087"> 53</a></span> <span class="keyword">inline</span> FILE *<a class="code" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">fopen</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,<span class="keywordtype">char</span> <span class="keyword">const</span> *mode)</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> {</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wname;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wshort_stackstring</a> wmode;</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">if</span>(!wname.convert(file_name) || !wmode.convert(mode)) {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  errno = EINVAL;</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  }</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">return</span> _wfopen(wname.c_str(),wmode.c_str());</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> }</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b"> 68</a></span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b">rename</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *old_name,<span class="keywordtype">char</span> <span class="keyword">const</span> *new_name)</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wold,wnew;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">if</span>(!wold.convert(old_name) || !wnew.convert(new_name)) {</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  errno = EINVAL;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> _wrename(wold.c_str(),wnew.c_str());</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#ae499659be3b7b42ede7f0674b953efaf"> 82</a></span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <span class="keyword">remove</span>(<span class="keywordtype">char</span> <span class="keyword">const</span> *name)</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wname;</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span>(!wname.convert(name)) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  errno = EINVAL;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> _wremove(wname.c_str());</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor">#pragma warning(pop)</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_abc7aa6b5fa4b6bbb9eead9e12efc967b"><div class="ttname"><a href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b">boost::nowide::rename</a></div><div class="ttdeci">int rename(char const *old_name, char const *new_name)</div><div class="ttdoc">Same as rename but old_name and new_name are UTF-8 strings. </div><div class="ttdef"><b>Definition:</b> cstdio.hpp:68</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_adfd128693c677a8ad1266ee7b4cbdb41"><div class="ttname"><a href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41">boost::nowide::freopen</a></div><div class="ttdeci">FILE * freopen(char const *file_name, char const *mode, FILE *stream)</div><div class="ttdoc">Same as freopen but file_name and mode are UTF-8 strings. </div><div class="ttdef"><b>Definition:</b> cstdio.hpp:38</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a45d432e5684010f865702af97d47f087"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">boost::nowide::fopen</a></div><div class="ttdeci">FILE * fopen(char const *file_name, char const *mode)</div><div class="ttdoc">Same as fopen but file_name and mode are UTF-8 strings. </div><div class="ttdef"><b>Definition:</b> cstdio.hpp:53</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__stackstring_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring</a></div><div class="ttdoc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:25</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
75
doc/html/cstdlib_8hpp_source.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<!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/cstdlib.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cstdlib.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CSTDLIB_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CSTDLIB_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/nowide/cenv.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/nowide/system.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
61
doc/html/dir_ab6683690fd4be124cf09c612930f7a9.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!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/integration Directory 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 Page</span></a></li>
|
||||
<li><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="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li><li class="navelem"><a class="el" href="dir_ab6683690fd4be124cf09c612930f7a9.html">integration</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">integration Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
|
||||
Files</h2></td></tr>
|
||||
<tr class="memitem:filesystem_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>filesystem.hpp</b> <a href="filesystem_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
61
doc/html/dir_c8984f1860c11f62f47abb6761e46c1e.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<!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 Directory 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 Page</span></a></li>
|
||||
<li><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="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">boost Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
<tr class="memitem:dir_cba7cd329d8f45cf06543cd3b730d485"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
90
doc/html/dir_cba7cd329d8f45cf06543cd3b730d485.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<!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 Directory 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 Page</span></a></li>
|
||||
<li><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="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">nowide Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
<tr class="memitem:dir_ab6683690fd4be124cf09c612930f7a9"><td class="memItemLeft" align="right" valign="top">directory  </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ab6683690fd4be124cf09c612930f7a9.html">integration</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
|
||||
Files</h2></td></tr>
|
||||
<tr class="memitem:args_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>args.hpp</b> <a href="args_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:cenv_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>cenv.hpp</b> <a href="cenv_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:config_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>config.hpp</b> <a href="config_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:convert_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>convert.hpp</b> <a href="convert_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:cstdio_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>cstdio.hpp</b> <a href="cstdio_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:cstdlib_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>cstdlib.hpp</b> <a href="cstdlib_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:filebuf_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>filebuf.hpp</b> <a href="filebuf_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:fstream_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>fstream.hpp</b> <a href="fstream_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:iostream_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>iostream.hpp</b> <a href="iostream_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:stackstring_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>stackstring.hpp</b> <a href="stackstring_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:system_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>system.hpp</b> <a href="system_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:utf8__codecvt_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>utf8_codecvt.hpp</b> <a href="utf8__codecvt_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:windows_8hpp"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><b>windows.hpp</b> <a href="windows_8hpp_source.html">[code]</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
1440
doc/html/doxygen.css
Normal file
BIN
doc/html/doxygen.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
97
doc/html/dynsections.js
Normal file
@@ -0,0 +1,97 @@
|
||||
function toggleVisibility(linkObj)
|
||||
{
|
||||
var base = $(linkObj).attr('id');
|
||||
var summary = $('#'+base+'-summary');
|
||||
var content = $('#'+base+'-content');
|
||||
var trigger = $('#'+base+'-trigger');
|
||||
var src=$(trigger).attr('src');
|
||||
if (content.is(':visible')===true) {
|
||||
content.hide();
|
||||
summary.show();
|
||||
$(linkObj).addClass('closed').removeClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
content.show();
|
||||
summary.hide();
|
||||
$(linkObj).removeClass('closed').addClass('opened');
|
||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function updateStripes()
|
||||
{
|
||||
$('table.directory tr').
|
||||
removeClass('even').filter(':visible:even').addClass('even');
|
||||
}
|
||||
|
||||
function toggleLevel(level)
|
||||
{
|
||||
$('table.directory tr').each(function() {
|
||||
var l = this.id.split('_').length-1;
|
||||
var i = $('#img'+this.id.substring(3));
|
||||
var a = $('#arr'+this.id.substring(3));
|
||||
if (l<level+1) {
|
||||
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
|
||||
a.html('▼');
|
||||
$(this).show();
|
||||
} else if (l==level+1) {
|
||||
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
|
||||
a.html('►');
|
||||
$(this).show();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
function toggleFolder(id)
|
||||
{
|
||||
// the clicked row
|
||||
var currentRow = $('#row_'+id);
|
||||
|
||||
// all rows after the clicked row
|
||||
var rows = currentRow.nextAll("tr");
|
||||
|
||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
||||
|
||||
// only match elements AFTER this one (can't hide elements before)
|
||||
var childRows = rows.filter(function() { return this.id.match(re); });
|
||||
|
||||
// first row is visible we are HIDING
|
||||
if (childRows.filter(':first').is(':visible')===true) {
|
||||
// replace down arrow by right arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
currentRowSpans.filter(".arrow").html('►');
|
||||
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
|
||||
} else { // we are SHOWING
|
||||
// replace right arrow by down arrow for current row
|
||||
var currentRowSpans = currentRow.find("span");
|
||||
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
|
||||
currentRowSpans.filter(".arrow").html('▼');
|
||||
// replace down arrows by right arrows for child rows
|
||||
var childRowsSpans = childRows.find("span");
|
||||
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
|
||||
childRowsSpans.filter(".arrow").html('►');
|
||||
childRows.show(); //show all children
|
||||
}
|
||||
updateStripes();
|
||||
}
|
||||
|
||||
|
||||
function toggleInherit(id)
|
||||
{
|
||||
var rows = $('tr.inherit.'+id);
|
||||
var img = $('tr.inherit_header.'+id+' img');
|
||||
var src = $(img).attr('src');
|
||||
if (rows.filter(':first').is(':visible')===true) {
|
||||
rows.css('display','none');
|
||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
|
||||
} else {
|
||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
|
||||
}
|
||||
}
|
||||
|
||||
455
doc/html/filebuf_8hpp_source.html
Normal file
@@ -0,0 +1,455 @@
|
||||
<!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/filebuf.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">filebuf.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_FILEBUF_HPP</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_FILEBUF_HPP</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <iosfwd></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <boost/nowide/stackstring.hpp></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <fstream></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <streambuf></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <stdio.h></span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma warning(push)</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor"># pragma warning(disable : 4996 4244 4800)</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_FSTREAM_TESTS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">using</span> std::basic_filebuf;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">using</span> std::filebuf;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#else // Windows</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">template</span><<span class="keyword">typename</span> CharType,<span class="keyword">typename</span> Traits = std::<span class="keywordtype">char</span>_traits<CharType> ></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf.html"> 38</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>;</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">template</span><></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html"> 47</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a><char> : <span class="keyword">public</span> std::basic_streambuf<char> {</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029"> 52</a></span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">basic_filebuf</a>() : </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  buffer_size_(4),</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  buffer_(0),</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  file_(0),</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  own_(true),</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  mode_(std::ios::in | std::ios::out)</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  setg(0,0,0);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  setp(0,0);</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keyword">virtual</span> ~<a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a>()</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span>(file_) {</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  ::fclose(file_);</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  file_ = 0;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">if</span>(own_ && buffer_)</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">delete</span> [] buffer_;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  </div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876"> 76</a></span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> *<a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">open</a>(std::string <span class="keyword">const</span> &s,std::ios_base::openmode mode)</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  {</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> open(s.c_str(),mode);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a72533238e5f64668fca85fa9655360df"> 83</a></span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> *<a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a72533238e5f64668fca85fa9655360df">open</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *s,std::ios_base::openmode mode)</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span>(file_) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  sync();</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  ::fclose(file_);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  file_ = 0;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordtype">bool</span> ate = bool(mode & std::ios_base::ate);</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span>(ate)</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  mode = mode ^ std::ios_base::ate;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *smode = get_mode(mode);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span>(!smode)</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> name;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span>(!name.convert(s)) </div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor"> #ifdef BOOST_NOWIDE_FSTREAM_TESTS</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  FILE *f = <a class="code" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">::fopen</a>(s,boost::nowide::convert(smode).c_str());</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  FILE *f = ::_wfopen(name.c_str(),smode);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span>(!f)</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">if</span>(ate && fseek(f,0,SEEK_END)!=0) {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  fclose(f);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  file_ = f;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6"> 116</a></span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf</a> *<a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">close</a>()</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordtype">bool</span> res = sync() == 0;</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span>(file_) {</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(::fclose(file_)!=0)</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  res = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  file_ = 0;</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> res ? <span class="keyword">this</span> : 0;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06"> 129</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">is_open</a>()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> file_ != 0;</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordtype">void</span> make_buffer()</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span>(buffer_)</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span>(buffer_size_ > 0) {</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  buffer_ = <span class="keyword">new</span> <span class="keywordtype">char</span> [buffer_size_];</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  own_ = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  </div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keyword">virtual</span> std::streambuf *setbuf(<span class="keywordtype">char</span> *s,std::streamsize n)</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span>(!buffer_ && n>=0) {</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  buffer_ = s;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  buffer_size_ = n;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  own_ = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> <span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor">#ifdef BOOST_NOWIDE_DEBUG_FILEBUF</span></div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">void</span> print_buf(<span class="keywordtype">char</span> *b,<span class="keywordtype">char</span> *p,<span class="keywordtype">char</span> *e)</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  std::cerr << <span class="stringliteral">"-- Is Null: "</span> << (b==0) << std::endl;; </div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span>(b==0)</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span>(e != 0)</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  std::cerr << <span class="stringliteral">"-- Total: "</span> << e - b <<<span class="stringliteral">" offset from start "</span> << p - b << std::endl;</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  std::cerr << <span class="stringliteral">"-- Total: "</span> << p - b << std::endl;</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  std::cerr << <span class="stringliteral">"-- ["</span>;</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">for</span>(<span class="keywordtype">char</span> *ptr = b;ptr<p;ptr++)</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  std::cerr << *ptr;</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">if</span>(e!=0) {</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  std::cerr << <span class="stringliteral">"|"</span>;</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">for</span>(<span class="keywordtype">char</span> *ptr = p;ptr<e;ptr++)</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  std::cerr << *ptr;</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  std::cerr << <span class="stringliteral">"]"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  </div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordtype">void</span> print_state()</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  std::cerr << <span class="stringliteral">"- Output:"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  print_buf(pbase(),pptr(),0);</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  std::cerr << <span class="stringliteral">"- Input:"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  print_buf(eback(),gptr(),egptr());</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  std::cerr << <span class="stringliteral">"- fpos: "</span> << (file_ ? ftell(file_) : -1L) << std::endl;</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">struct </span>print_guard</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  print_guard(basic_filebuf *p,<span class="keywordtype">char</span> <span class="keyword">const</span> *func)</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">self</span> = p;</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  f=func;</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  std::cerr << <span class="stringliteral">"In: "</span> << f << std::endl;</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keyword">self</span>->print_state();</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  ~print_guard()</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  std::cerr << <span class="stringliteral">"Out: "</span> << f << std::endl;</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">self</span>->print_state();</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  basic_filebuf *<span class="keyword">self</span>;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *f;</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  };</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#endif </span></div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  </div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">int</span> overflow(<span class="keywordtype">int</span> c)</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="preprocessor">#ifdef BOOST_NOWIDE_DEBUG_FILEBUF</span></div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  print_guard g(<span class="keyword">this</span>,__FUNCTION__);</div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor">#endif </span></div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span>(!file_)</div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  </div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">if</span>(fixg() < 0)</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordtype">size_t</span> n = pptr() - pbase();</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">if</span>(n > 0) {</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(::fwrite(pbase(),1,n,file_) < n)</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  fflush(file_);</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span>(buffer_size_ > 0) {</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  make_buffer();</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  setp(buffer_,buffer_+buffer_size_);</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">if</span>(c!=EOF)</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  sputc(c);</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(c!=EOF) {</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">if</span>(::fputc(c,file_)==EOF)</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  fflush(file_);</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  </div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  </div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordtype">int</span> sync()</div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  {</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> overflow(EOF);</div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordtype">int</span> underflow()</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor">#ifdef BOOST_NOWIDE_DEBUG_FILEBUF</span></div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  print_guard g(<span class="keyword">this</span>,__FUNCTION__);</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#endif </span></div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">if</span>(!file_)</div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">if</span>(fixp() < 0)</div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">if</span>(buffer_size_ == 0) {</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">int</span> c = ::fgetc(file_);</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span>(c==EOF) {</div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  last_char_ = c;</div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  setg(&last_char_,&last_char_,&last_char_ + 1);</div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">return</span> c;</div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  }</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  make_buffer();</div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">size_t</span> n = ::fread(buffer_,1,buffer_size_,file_);</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  setg(buffer_,buffer_,buffer_+n);</div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span>(n == 0)</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> std::char_traits<char>::to_int_type(*gptr());</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">int</span> pbackfail(<span class="keywordtype">int</span>)</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> pubseekoff(-1,std::ios::cur);</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  std::streampos seekoff(std::streamoff off,</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  std::ios_base::seekdir seekdir,</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  std::ios_base::openmode <span class="comment">/*m*/</span>)</div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  {</div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor">#ifdef BOOST_NOWIDE_DEBUG_FILEBUF</span></div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  print_guard g(<span class="keyword">this</span>,__FUNCTION__);</div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="preprocessor">#endif </span></div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">if</span>(!file_)</div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">if</span>(fixp() < 0 || fixg() < 0)</div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">if</span>(seekdir == std::ios_base::cur) {</div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">if</span>( ::fseek(file_,off,SEEK_CUR) < 0)</div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(seekdir == std::ios_base::beg) {</div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span>( ::fseek(file_,off,SEEK_SET) < 0)</div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(seekdir == std::ios_base::end) {</div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">if</span>( ::fseek(file_,off,SEEK_END) < 0)</div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> EOF;</div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> ftell(file_);</div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  std::streampos seekpos(std::streampos off,std::ios_base::openmode m)</div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">return</span> seekoff(std::streamoff(off),std::ios_base::beg,m);</div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  }</div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordtype">int</span> fixg()</div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">if</span>(gptr()!=egptr()) {</div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  std::streamsize off = gptr() - egptr();</div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  setg(0,0,0);</div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">if</span>(fseek(file_,off,SEEK_CUR) != 0)</div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  setg(0,0,0);</div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  }</div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  </div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordtype">int</span> fixp()</div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span>(pptr()!=0) {</div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordtype">int</span> r = sync();</div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  setp(0,0);</div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> r;</div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordtype">void</span> reset(FILE *f = 0)</div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  sync();</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">if</span>(file_) {</div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  fclose(file_);</div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  file_ = 0;</div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  file_ = f;</div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  </div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  </div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keyword">static</span> <span class="keywordtype">wchar_t</span> <span class="keyword">const</span> *get_mode(std::ios_base::openmode mode)</div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {</div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="comment">// done according to n2914 table 106 27.9.1.4</span></div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="comment">// note can't use switch case as overload operator can't be used</span></div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="comment">// in constant expression</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::out))</div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"w"</span>;</div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::out | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a"</span>;</div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a"</span>;</div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::out | std::ios_base::trunc))</div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"w"</span>;</div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::in))</div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"r"</span>;</div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::in | std::ios_base::out))</div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"r+"</span>;</div>
|
||||
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::in | std::ios_base::out | std::ios_base::trunc))</div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"w+"</span>;</div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::in | std::ios_base::out | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a+"</span>;</div>
|
||||
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::in | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a+"</span>;</div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::out))</div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"wb"</span>;</div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::out | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"ab"</span>;</div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"ab"</span>;</div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::out | std::ios_base::trunc))</div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"wb"</span>;</div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::in))</div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"rb"</span>;</div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::in | std::ios_base::out))</div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"r+b"</span>;</div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::in | std::ios_base::out | std::ios_base::trunc))</div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"w+b"</span>;</div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::in | std::ios_base::out | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a+b"</span>;</div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">if</span>(mode == (std::ios_base::binary | std::ios_base::in | std::ios_base::app))</div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> L<span class="stringliteral">"a+b"</span>;</div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">return</span> 0; </div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  }</div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  </div>
|
||||
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordtype">size_t</span> buffer_size_;</div>
|
||||
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">char</span> *buffer_;</div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  FILE *file_;</div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordtype">bool</span> own_;</div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">char</span> last_char_;</div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  std::ios::openmode mode_;</div>
|
||||
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  };</div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  </div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0"> 401</a></span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf<char></a> <a class="code" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">filebuf</a>;</div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  </div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="preprocessor"> #endif // windows</span></div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  </div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
|
||||
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="preprocessor"># pragma warning(pop)</span></div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> </div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html_a5d28c29a18add5fbcd0456e75be753a6"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">boost::nowide::basic_filebuf< char >::close</a></div><div class="ttdeci">basic_filebuf * close()</div><div class="ttdef"><b>Definition:</b> filebuf.hpp:116</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a45d432e5684010f865702af97d47f087"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">boost::nowide::fopen</a></div><div class="ttdeci">FILE * fopen(char const *file_name, char const *mode)</div><div class="ttdoc">Same as fopen but file_name and mode are UTF-8 strings. </div><div class="ttdef"><b>Definition:</b> cstdio.hpp:53</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_aa2709df55bd08ca25c97f047afec0ba0"><div class="ttname"><a href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">boost::nowide::filebuf</a></div><div class="ttdeci">basic_filebuf< char > filebuf</div><div class="ttdoc">Convinience typedef. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:401</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html_a23b677285f14f7f1619d5652e043bc06"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">boost::nowide::basic_filebuf< char >::is_open</a></div><div class="ttdeci">bool is_open() const </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:129</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html_a72533238e5f64668fca85fa9655360df"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a72533238e5f64668fca85fa9655360df">boost::nowide::basic_filebuf< char >::open</a></div><div class="ttdeci">basic_filebuf * open(char const *s, std::ios_base::openmode mode)</div><div class="ttdef"><b>Definition:</b> filebuf.hpp:83</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html_acb60c4ffe2ba0d574f348ee4e7c02029"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">boost::nowide::basic_filebuf< char >::basic_filebuf</a></div><div class="ttdeci">basic_filebuf()</div><div class="ttdef"><b>Definition:</b> filebuf.hpp:52</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a></div><div class="ttdoc">This forward declaration defined the basic_filebuf type. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:38</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></div><div class="ttdoc">This is implementation of std::filebuf. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:47</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html_a1e5de49ebc04817924f64687c709b876"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">boost::nowide::basic_filebuf< char >::open</a></div><div class="ttdeci">basic_filebuf * open(std::string const &s, std::ios_base::openmode mode)</div><div class="ttdef"><b>Definition:</b> filebuf.hpp:76</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__stackstring_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring</a></div><div class="ttdoc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:25</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
77
doc/html/files.html
Normal file
@@ -0,0 +1,77 @@
|
||||
<!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: File List</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">File List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html" target="_self">boost</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">▼</span><span id="img_0_0_" class="iconfopen" onclick="toggleFolder('0_0_')"> </span><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html" target="_self">nowide</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">▼</span><span id="img_0_0_0_" class="iconfopen" onclick="toggleFolder('0_0_0_')"> </span><a class="el" href="dir_ab6683690fd4be124cf09c612930f7a9.html" target="_self">integration</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_0_0_"><td class="entry"><span style="width:64px;display:inline-block;"> </span><a href="filesystem_8hpp_source.html"><span class="icondoc"></span></a><b>filesystem.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="args_8hpp_source.html"><span class="icondoc"></span></a><b>args.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_2_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="cenv_8hpp_source.html"><span class="icondoc"></span></a><b>cenv.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="config_8hpp_source.html"><span class="icondoc"></span></a><b>config.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_4_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="convert_8hpp_source.html"><span class="icondoc"></span></a><b>convert.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="cstdio_8hpp_source.html"><span class="icondoc"></span></a><b>cstdio.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_6_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="cstdlib_8hpp_source.html"><span class="icondoc"></span></a><b>cstdlib.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_7_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="filebuf_8hpp_source.html"><span class="icondoc"></span></a><b>filebuf.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_8_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="fstream_8hpp_source.html"><span class="icondoc"></span></a><b>fstream.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="iostream_8hpp_source.html"><span class="icondoc"></span></a><b>iostream.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_10_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="stackstring_8hpp_source.html"><span class="icondoc"></span></a><b>stackstring.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_11_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="system_8hpp_source.html"><span class="icondoc"></span></a><b>system.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_12_"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="utf8__codecvt_8hpp_source.html"><span class="icondoc"></span></a><b>utf8_codecvt.hpp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_13_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><a href="windows_8hpp_source.html"><span class="icondoc"></span></a><b>windows.hpp</b></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
86
doc/html/filesystem_8hpp_source.html
Normal file
@@ -0,0 +1,86 @@
|
||||
<!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/integration/filesystem.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li><li class="navelem"><a class="el" href="dir_ab6683690fd4be124cf09c612930f7a9.html">integration</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">filesystem.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_INTEGRATION_FILESYSTEM_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_INTEGRATION_FILESYSTEM_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/filesystem/path.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/nowide/utf8_codecvt.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8"> 18</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">nowide_filesystem</a>()</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  std::locale tmp = std::locale(std::locale(),<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">boost::nowide::utf8_codecvt<wchar_t></a>());</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  boost::filesystem::path::imbue(tmp);</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  }</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> } <span class="comment">// boost</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1utf8__codecvt_html"><div class="ttname"><a href="classboost_1_1nowide_1_1utf8__codecvt.html">boost::nowide::utf8_codecvt</a></div><div class="ttdef"><b>Definition:</b> utf8_codecvt.hpp:30</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a7f94a60d0a9e5534a6dcc41bbc826ee8"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">boost::nowide::nowide_filesystem</a></div><div class="ttdeci">void nowide_filesystem()</div><div class="ttdef"><b>Definition:</b> filesystem.hpp:18</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
326
doc/html/fstream_8hpp_source.html
Normal file
@@ -0,0 +1,326 @@
|
||||
<!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/fstream.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">fstream.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_FSTREAM_INCLUDED_HPP</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_FSTREAM_INCLUDED_HPP</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <iosfwd></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/config.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <boost/nowide/convert.hpp></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <boost/scoped_ptr.hpp></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <fstream></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include <memory></span></div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include <boost/nowide/filebuf.hpp></span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_FSTREAM_TESTS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">using</span> std::basic_ifstream;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">using</span> std::basic_ofstream;</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">using</span> std::basic_fstream;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keyword">using</span> std::ifstream;</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">using</span> std::ofstream;</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">using</span> std::fstream;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keyword">template</span><<span class="keyword">typename</span> CharType,<span class="keyword">typename</span> Traits = std::<span class="keywordtype">char</span>_traits<CharType> ></div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__ifstream.html"> 40</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a> : <span class="keyword">public</span> std::basic_istream<CharType,Traits></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  {</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf<CharType,Traits></a> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">typedef</span> std::basic_istream<CharType,Traits> internal_stream_type;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>() : </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  {</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::in) : </div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  internal_stream_type(0) </div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::in) : </div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  internal_stream_type(0) </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordtype">void</span> open(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::in)</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  open(file_name.c_str(),mode);</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">void</span> open(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::in)</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  {</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">if</span>(!buf_->open(file_name,mode | std::ios_base::in)) {</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">bool</span> is_open()</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">bool</span> is_open()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">void</span> close()</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span>(!buf_->close())</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> *rdbuf()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> buf_.get();</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  ~<a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream</a>()</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  buf_->close();</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  boost::scoped_ptr<internal_buffer_type> buf_;</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  };</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">template</span><<span class="keyword">typename</span> CharType,<span class="keyword">typename</span> Traits = std::<span class="keywordtype">char</span>_traits<CharType> ></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__ofstream.html"> 117</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a> : <span class="keyword">public</span> std::basic_ostream<CharType,Traits></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf<CharType,Traits></a> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>;</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">typedef</span> std::basic_ostream<CharType,Traits> internal_stream_type;</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>() : </div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  {</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::out) :</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::out) :</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordtype">void</span> open(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::out)</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  open(file_name.c_str(),mode);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordtype">void</span> open(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::out)</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span>(!buf_->open(file_name,mode | std::ios_base::out)) {</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">bool</span> is_open()</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  {</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">bool</span> is_open()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordtype">void</span> close()</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">if</span>(!buf_->close())</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> *rdbuf()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> buf_.get();</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  ~<a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream</a>()</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  buf_->close();</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  boost::scoped_ptr<internal_buffer_type> buf_;</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  };</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">template</span><<span class="keyword">typename</span> CharType,<span class="keyword">typename</span> Traits = std::<span class="keywordtype">char</span>_traits<CharType> ></div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__fstream.html"> 190</a></span>  <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a> : <span class="keyword">public</span> std::basic_iostream<CharType,Traits></div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  {</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">basic_filebuf<CharType,Traits></a> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>;</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">typedef</span> std::basic_iostream<CharType,Traits> internal_stream_type;</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>() : </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  {</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  }</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::out | std::ios_base::in) :</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">explicit</span> <a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::out | std::ios_base::in) :</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  internal_stream_type(0)</div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  buf_.reset(<span class="keyword">new</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a>());</div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  std::ios::rdbuf(buf_.get());</div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  open(file_name,mode);</div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">void</span> open(std::string <span class="keyword">const</span> &file_name,std::ios_base::openmode mode = std::ios_base::out | std::ios_base::out)</div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  open(file_name.c_str(),mode);</div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordtype">void</span> open(<span class="keywordtype">char</span> <span class="keyword">const</span> *file_name,std::ios_base::openmode mode = std::ios_base::out | std::ios_base::out)</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(!buf_->open(file_name,mode)) {</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordtype">bool</span> is_open()</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordtype">bool</span> is_open()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> buf_->is_open();</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">void</span> close()</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">if</span>(!buf_->close())</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  this->setstate(std::ios_base::failbit);</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  this->clear();</div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="classboost_1_1nowide_1_1basic__filebuf.html">internal_buffer_type</a> *rdbuf()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> buf_.get();</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  ~<a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream</a>()</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  buf_->close();</div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  </div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  boost::scoped_ptr<internal_buffer_type> buf_;</div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  };</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf<char></a> <a class="code" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">filebuf</a>;</div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83"> 266</a></span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">basic_ifstream<char></a> <a class="code" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">ifstream</a>;</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662"> 270</a></span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__ofstream.html">basic_ofstream<char></a> <a class="code" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">ofstream</a>;</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475"> 274</a></span>  <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__fstream.html">basic_fstream<char></a> <a class="code" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">fstream</a>;</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a9b2fe88d2c896641bf2ac9913ab5dc83"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">boost::nowide::ifstream</a></div><div class="ttdeci">basic_ifstream< char > ifstream</div><div class="ttdef"><b>Definition:</b> fstream.hpp:266</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_aa2709df55bd08ca25c97f047afec0ba0"><div class="ttname"><a href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">boost::nowide::filebuf</a></div><div class="ttdeci">basic_filebuf< char > filebuf</div><div class="ttdoc">Convinience typedef. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:401</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__ifstream_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::basic_ifstream</a></div><div class="ttdoc">Same as std::basic_ifstream<char> but accepts UTF-8 strings under Windows. </div><div class="ttdef"><b>Definition:</b> fstream.hpp:40</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a547c43290e3c142116f8713c233e3662"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">boost::nowide::ofstream</a></div><div class="ttdeci">basic_ofstream< char > ofstream</div><div class="ttdef"><b>Definition:</b> fstream.hpp:270</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf.html">boost::nowide::basic_filebuf</a></div><div class="ttdoc">This forward declaration defined the basic_filebuf type. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:38</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__fstream_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__fstream.html">boost::nowide::basic_fstream</a></div><div class="ttdoc">Same as std::basic_fstream<char> but accepts UTF-8 strings under Windows. </div><div class="ttdef"><b>Definition:</b> fstream.hpp:190</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">boost::nowide::basic_filebuf< char ></a></div><div class="ttdoc">This is implementation of std::filebuf. </div><div class="ttdef"><b>Definition:</b> filebuf.hpp:47</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__ofstream_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__ofstream.html">boost::nowide::basic_ofstream</a></div><div class="ttdoc">Same as std::basic_ofstream<char> but accepts UTF-8 strings under Windows. </div><div class="ttdef"><b>Definition:</b> fstream.hpp:117</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_ab750bb37dd7f652f1222180f8f00f475"><div class="ttname"><a href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">boost::nowide::fstream</a></div><div class="ttdeci">basic_fstream< char > fstream</div><div class="ttdef"><b>Definition:</b> fstream.hpp:274</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/ftv2blank.png
Normal file
|
After Width: | Height: | Size: 86 B |
BIN
doc/html/ftv2doc.png
Normal file
|
After Width: | Height: | Size: 746 B |
BIN
doc/html/ftv2folderclosed.png
Normal file
|
After Width: | Height: | Size: 616 B |
BIN
doc/html/ftv2folderopen.png
Normal file
|
After Width: | Height: | Size: 597 B |
BIN
doc/html/ftv2lastnode.png
Normal file
|
After Width: | Height: | Size: 86 B |
BIN
doc/html/ftv2link.png
Normal file
|
After Width: | Height: | Size: 746 B |
BIN
doc/html/ftv2mlastnode.png
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
doc/html/ftv2mnode.png
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
doc/html/ftv2node.png
Normal file
|
After Width: | Height: | Size: 86 B |
BIN
doc/html/ftv2plastnode.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
doc/html/ftv2pnode.png
Normal file
|
After Width: | Height: | Size: 229 B |
BIN
doc/html/ftv2splitbar.png
Normal file
|
After Width: | Height: | Size: 314 B |
BIN
doc/html/ftv2vertline.png
Normal file
|
After Width: | Height: | Size: 86 B |
80
doc/html/functions.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<!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: Class Members</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
|
||||
<li>args()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">boost::nowide::args</a>
|
||||
</li>
|
||||
<li>basic_filebuf()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>close()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>is_open()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>open()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>~args()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">boost::nowide::args</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
80
doc/html/functions_func.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<!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: Class Members - Functions</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>args()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1args.html#a3ff755fe4f03cc192f31121d5ea78d7d">boost::nowide::args</a>
|
||||
</li>
|
||||
<li>basic_filebuf()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#acb60c4ffe2ba0d574f348ee4e7c02029">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>close()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a5d28c29a18add5fbcd0456e75be753a6">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>is_open()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a23b677285f14f7f1619d5652e043bc06">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>open()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html#a1e5de49ebc04817924f64687c709b876">boost::nowide::basic_filebuf< char ></a>
|
||||
</li>
|
||||
<li>~args()
|
||||
: <a class="el" href="classboost_1_1nowide_1_1args.html#a78a61e8fe5bb40884f8b3038b98762b2">boost::nowide::args</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
78
doc/html/hierarchy.html
Normal file
@@ -0,0 +1,78 @@
|
||||
<!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: Class Hierarchy</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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><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="annotated.html"><span>Class List</span></a></li>
|
||||
<li class="current"><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class Hierarchy</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1args.html" target="_self">boost::nowide::args</a></td><td class="desc">Args is a class that fixes standard main() function arguments and changes them to UTF-8 under Microsoft Windows </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__filebuf.html" target="_self">boost::nowide::basic_filebuf< CharType, Traits ></a></td><td class="desc">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 </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span class="icona"><span class="icon">C</span></span><b>basic_iostream</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__fstream.html" target="_self">boost::nowide::basic_fstream< CharType, Traits ></a></td><td class="desc">Same as std::basic_fstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_3_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">▼</span><span class="icona"><span class="icon">C</span></span><b>basic_istream</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__ifstream.html" target="_self">boost::nowide::basic_ifstream< CharType, Traits ></a></td><td class="desc">Same as std::basic_ifstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">▼</span><span class="icona"><span class="icon">C</span></span><b>basic_ostream</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__ofstream.html" target="_self">boost::nowide::basic_ofstream< CharType, Traits ></a></td><td class="desc">Same as std::basic_ofstream<char> but accepts UTF-8 strings under Windows </td></tr>
|
||||
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html" target="_self">boost::nowide::basic_stackstring< CharOut, CharIn, BufferSize ></a></td><td class="desc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source </td></tr>
|
||||
<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html" target="_self">boost::nowide::basic_stackstring< char, wchar_t, 256 ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">▼</span><span class="icona"><span class="icon">C</span></span><b>basic_streambuf</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_7_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html" target="_self">boost::nowide::basic_filebuf< char ></a></td><td class="desc">This is implementation of std::filebuf </td></tr>
|
||||
<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">▼</span><span class="icona"><span class="icon">C</span></span><b>codecvt</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_8_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html" target="_self">boost::nowide::utf8_codecvt< CharType, 2 ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_8_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html" target="_self">boost::nowide::utf8_codecvt< CharType, 4 ></a></td><td class="desc"></td></tr>
|
||||
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classboost_1_1nowide_1_1utf8__codecvt.html" target="_self">boost::nowide::utf8_codecvt< CharType, CharSize ></a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
309
doc/html/index.html
Normal file
@@ -0,0 +1,309 @@
|
||||
<!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</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 class="current"><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><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><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Boost.Nowide </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Table of Contents:</p>
|
||||
<ul>
|
||||
<li><a class="el" href="index.html#main">What is Boost.Nowide</a></li>
|
||||
<li><a class="el" href="index.html#main_rationale">Rationale</a><ul>
|
||||
<li><a class="el" href="index.html#main_the_problem">The Problem</a></li>
|
||||
<li><a class="el" href="index.html#main_the_solution">The Solution</a></li>
|
||||
<li><a class="el" href="index.html#main_wide">Why Not Narrow and Wide?</a></li>
|
||||
<li><a class="el" href="index.html#main_reading">Further Reading</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="el" href="index.html#using">Using The Library</a><ul>
|
||||
<li><a class="el" href="index.html#using_standard">Standard Features</a></li>
|
||||
<li><a class="el" href="index.html#using_custom">Custom API</a></li>
|
||||
<li><a class="el" href="index.html#using_integration">Integration with Boost.Filesystem</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="el" href="index.html#technical">Technical Details</a><ul>
|
||||
<li><a class="el" href="index.html#technical_imple">Windows vs POSIX</a></li>
|
||||
<li><a class="el" href="index.html#technical_cio">Console I/O</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="el" href="index.html#qna">Q & A</a></li>
|
||||
<li><a class="el" href="index.html#standalone_version">Standalone Version</a></li>
|
||||
<li><a class="el" href="index.html#sources">Sources and Downloads</a></li>
|
||||
</ul>
|
||||
<h1><a class="anchor" id="main"></a>
|
||||
What is Boost.Nowide</h1>
|
||||
<p>Boost.Nowide is a library implemented by Artyom Beilis that makes cross platform Unicode aware programming easier.</p>
|
||||
<p>The library provides an implementation of standard C and C++ library functions, such that their inputs are UTF-8 aware on Windows without requiring to use Wide API.</p>
|
||||
<h1><a class="anchor" id="main_rationale"></a>
|
||||
Rationale</h1>
|
||||
<h2><a class="anchor" id="main_the_problem"></a>
|
||||
The Problem</h2>
|
||||
<p>Consider a simple application that splits a big file into chunks, such that they can be sent by e-mail. It requires doing a few very simple tasks:</p>
|
||||
<ul>
|
||||
<li>Access command line arguments: <code>int main(int argc,char **argv)</code></li>
|
||||
<li>Open an input file, open several output files: <code>std::fstream::open(char const *,std::ios::openmode m)</code></li>
|
||||
<li>Remove the files in case of fault: <code>std::remove(char const *file)</code></li>
|
||||
<li>Print a progress report onto the console: <code>std::cout << file_name </code></li>
|
||||
</ul>
|
||||
<p>Unfortunately it is impossible to implement this simple task in plain C++ if the file names contain non-ASCII characters.</p>
|
||||
<p>The simple program that uses the API would work on the systems that use UTF-8 internally – the vast majority of Unix-Line operating systems: Linux, Mac OS X, Solaris, BSD. But it would fail on files like <code>War and Peace - Война и мир - מלחמה ושלום.zip</code> under Microsoft Windows because the native Windows Unicode aware API is Wide-API – UTF-16.</p>
|
||||
<p>This incredibly trivial task is very hard to implement in a cross platform manner.</p>
|
||||
<h2><a class="anchor" id="main_the_solution"></a>
|
||||
The Solution</h2>
|
||||
<p>Boost.Nowide provides a set of standard library functions that are UTF-8 aware and makes Unicode aware programming easier.</p>
|
||||
<p>The library provides:</p>
|
||||
<ul>
|
||||
<li>Easy to use functions for converting UTF-8 to/from UTF-16</li>
|
||||
<li>A class to make the <code>argc</code>, <code>argc</code> and <code>env</code> parameters of <code>main</code> use UTF-8</li>
|
||||
<li>UTF-8 aware functions<ul>
|
||||
<li><code>stdio.h</code> functions:<ul>
|
||||
<li><code>fopen</code> </li>
|
||||
<li><code>freopen</code> </li>
|
||||
<li><code>remove</code> </li>
|
||||
<li><code>rename</code> </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>stdlib.h</code> functions:<ul>
|
||||
<li><code>system</code> </li>
|
||||
<li><code>getenv</code> </li>
|
||||
<li><code>setenv</code> </li>
|
||||
<li><code>unsetenv</code> </li>
|
||||
<li><code>putenv</code> </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>fstream</code> <ul>
|
||||
<li><code>filebuf</code> </li>
|
||||
<li><code>fstream/ofstream/ifstream</code> </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><code>iostream</code> <ul>
|
||||
<li><code>cout</code> </li>
|
||||
<li><code>cerr</code> </li>
|
||||
<li><code>clog</code> </li>
|
||||
<li><code>cin</code> </li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="main_wide"></a>
|
||||
Why Not Narrow and Wide?</h2>
|
||||
<p>Why not provide both Wide and Narrow implementations so the developer can choose to use Wide characters on Unix-like platforms?</p>
|
||||
<p>Several reasons:</p>
|
||||
<ul>
|
||||
<li><code>wchar_t</code> is not really portable, it can be 2 bytes, 4 bytes or even 1 byte making Unicode aware programming harder</li>
|
||||
<li>The C and C++ standard libraries use narrow strings for OS interactions. This library follows the same general rule. There is no such thing as <code>fopen(wchar_t const *,wchar_t const *)</code> in the standard library, so it is better to stick to the standards rather than re-implement Wide API in "Microsoft Windows Style"</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="main_reading"></a>
|
||||
Further Reading</h2>
|
||||
<ul>
|
||||
<li><a href="http://www.utf8everywhere.org/">www.utf8everywhere.org</a></li>
|
||||
<li><a href="http://alfps.wordpress.com/2011/11/22/unicode-part-1-windows-console-io-approaches/">Windows console i/o approaches</a></li>
|
||||
</ul>
|
||||
<h1><a class="anchor" id="using"></a>
|
||||
Using The Library</h1>
|
||||
<h2><a class="anchor" id="using_standard"></a>
|
||||
Standard Features</h2>
|
||||
<p>The library is mostly header only, only console I/O requires separate compilation under Windows.</p>
|
||||
<p>As a developer you are expected to use <code><a class="el" href="namespaceboost_1_1nowide.html" title="This namespace includes implementation of the standard library functios such that they accept UTF-8 s...">boost::nowide</a></code> functions instead of the functions available in the <code>std</code> namespace.</p>
|
||||
<p>For example, here is a Unicode unaware implementation of a line counter: </p><div class="fragment"><div class="line"><span class="preprocessor">#include <fstream></span></div>
|
||||
<div class="line"><span class="preprocessor">#include <iostream></span></div>
|
||||
<div class="line"></div>
|
||||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc,<span class="keywordtype">char</span> **argv)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(argc!=2) {</div>
|
||||
<div class="line"> std::cerr << <span class="stringliteral">"Usage: file_name"</span> << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"></div>
|
||||
<div class="line"> std::ifstream f(argv[1]);</div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(!f) {</div>
|
||||
<div class="line"> std::cerr << <span class="stringliteral">"Can't open "</span> << argv[1] << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> <span class="keywordtype">int</span> total_lines = 0;</div>
|
||||
<div class="line"> <span class="keywordflow">while</span>(f) {</div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(f.get() == <span class="charliteral">'\n'</span>)</div>
|
||||
<div class="line"> total_lines++;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> f.close();</div>
|
||||
<div class="line"> std::cout << <span class="stringliteral">"File "</span> << argv[1] << <span class="stringliteral">" has "</span> << total_lines << <span class="stringliteral">" lines"</span> << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line">}</div>
|
||||
</div><!-- fragment --><p>To make this program handle Unicode properly, we do the following changes:</p>
|
||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <boost/nowide/args.hpp></span></div>
|
||||
<div class="line"><span class="preprocessor">#include <boost/nowide/fstream.hpp></span></div>
|
||||
<div class="line"><span class="preprocessor">#include <boost/nowide/iostream.hpp></span></div>
|
||||
<div class="line"></div>
|
||||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc,<span class="keywordtype">char</span> **argv)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <a class="code" href="classboost_1_1nowide_1_1args.html">boost::nowide::args</a> a(argc,argv); <span class="comment">// Fix arguments - make them UTF-8</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(argc!=2) {</div>
|
||||
<div class="line"> <a class="code" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">boost::nowide::cerr</a> << <span class="stringliteral">"Usage: file_name"</span> << std::endl; <span class="comment">// Unicode aware console</span></div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"></div>
|
||||
<div class="line"> <a class="code" href="classboost_1_1nowide_1_1basic__ifstream.html">boost::nowide::ifstream</a> f(argv[1]); <span class="comment">// argv[1] - is UTF-8</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(!f) {</div>
|
||||
<div class="line"> <span class="comment">// the console can display UTF-8</span></div>
|
||||
<div class="line"> <a class="code" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">boost::nowide::cerr</a> << <span class="stringliteral">"Can't open "</span> << argv[1] << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> <span class="keywordtype">int</span> total_lines = 0;</div>
|
||||
<div class="line"> <span class="keywordflow">while</span>(f) {</div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(f.get() == <span class="charliteral">'\n'</span>)</div>
|
||||
<div class="line"> total_lines++;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> f.close();</div>
|
||||
<div class="line"> <span class="comment">// the console can display UTF-8</span></div>
|
||||
<div class="line"> <a class="code" href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">boost::nowide::cout</a> << <span class="stringliteral">"File "</span> << argv[1] << <span class="stringliteral">" has "</span> << total_lines << <span class="stringliteral">" lines"</span> << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line">}</div>
|
||||
</div><!-- fragment --><p>This very simple and straightforward approach helps writing Unicode aware programs.</p>
|
||||
<h2><a class="anchor" id="using_custom"></a>
|
||||
Custom API</h2>
|
||||
<p>Of course, this simple set of functions does not cover all needs. If you need to access Wide API from a Windows application that uses UTF-8 internally you can use functions like <code><a class="el" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide::widen</a></code> and <code><a class="el" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">boost::nowide::narrow</a></code>.</p>
|
||||
<p>For example: </p><div class="fragment"><div class="line">CopyFileW( <a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide::widen</a>(existing_file).c_str(),</div>
|
||||
<div class="line"> <a class="code" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide::widen</a>(new_file).c_str(),</div>
|
||||
<div class="line"> TRUE);</div>
|
||||
</div><!-- fragment --><p>The conversion is done at the last stage, and you continue using UTF-8 strings everywhere else. You only switch to the Wide API at glue points.</p>
|
||||
<p><code><a class="el" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide::widen</a></code> returns <code>std::string</code>. Sometimes it is useful to prevent allocation and use on-stack buffers instead. Boost.Nowide provides the <code><a class="el" href="classboost_1_1nowide_1_1basic__stackstring.html" title="A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...">boost::nowide::basic_stackstring</a></code> class for this purpose.</p>
|
||||
<p>The example above could be rewritten as:</p>
|
||||
<div class="fragment"><div class="line"><a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring<wchar_t,char,64></a> wexisting_file,wnew_file;</div>
|
||||
<div class="line"><span class="keywordflow">if</span>(!wexisting_file.convert(existing_file) || !wnew_file.convert(new_file)) {</div>
|
||||
<div class="line"> <span class="comment">// invalid UTF-8</span></div>
|
||||
<div class="line"> <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line">}</div>
|
||||
<div class="line"></div>
|
||||
<div class="line">CopyFileW(wexisting_file.c_str(),wnew_file.c_str(),TRUE);</div>
|
||||
</div><!-- fragment --><dl class="section note"><dt>Note</dt><dd>There are a few convenience typedefs: <code>stackstring</code> and <code>wstackstring</code> using 256-character buffers, and <code>short_stackstring</code> and <code>wshort_stackstring</code> using 16-character buffers. If the string is longer, they fall back to memory allocation.</dd></dl>
|
||||
<h2><a class="anchor" id="using_windows_h"></a>
|
||||
The windows.h header</h2>
|
||||
<p>The library does not include the <code>windows.h</code> in order to prevent namespace pollution with numerous defines and types. Instead, the library defines the prototypes of the Win32 API functions.</p>
|
||||
<p>However, you may request to use the <code>windows.h</code> header by defining <code>BOOST_NOWIDE_USE_WINDOWS_H</code> before including any of the Boost.Nowide headers</p>
|
||||
<h2><a class="anchor" id="using_integration"></a>
|
||||
Integration with Boost.Filesystem</h2>
|
||||
<p>Boost.Filesystem supports selection of narrow encoding. Unfortunatelly the default narrow encoding on Windows isn't UTF-8, you can enable UTF-8 as default encoding on Boost.Filesystem by calling <code><a class="el" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">boost::nowide::nowide_filesystem()</a></code> in the beginning of your program</p>
|
||||
<h1><a class="anchor" id="technical"></a>
|
||||
Technical Details</h1>
|
||||
<h2><a class="anchor" id="technical_imple"></a>
|
||||
Windows vs POSIX</h2>
|
||||
<p>For Microsoft Windows, the library provides UTF-8 aware variants of some <code>std:</code>: functions in the <code><a class="el" href="namespaceboost_1_1nowide.html" title="This namespace includes implementation of the standard library functios such that they accept UTF-8 s...">boost::nowide</a></code> namespace. For example, <code>std::fopen</code> becomes <code><a class="el" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087" title="Same as fopen but file_name and mode are UTF-8 strings. ">boost::nowide::fopen</a></code>.</p>
|
||||
<p>Under POSIX platforms, the functions in <a class="el" href="namespaceboost_1_1nowide.html" title="This namespace includes implementation of the standard library functios such that they accept UTF-8 s...">boost::nowide</a> are aliases of their standard library counterparts:</p>
|
||||
<div class="fragment"><div class="line"><span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><span class="preprocessor">#ifdef BOOST_WINDOWS</span></div>
|
||||
<div class="line"><span class="keyword">inline</span> FILE *<a class="code" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">fopen</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *name,<span class="keywordtype">char</span> <span class="keyword">const</span> *mode)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> ...</div>
|
||||
<div class="line">}</div>
|
||||
<div class="line"><span class="preprocessor">#else</span></div>
|
||||
<div class="line"><span class="keyword">using</span> std::fopen</div>
|
||||
<div class="line"><span class="preprocessor">#endif</span></div>
|
||||
<div class="line">} <span class="comment">// nowide</span></div>
|
||||
<div class="line">} <span class="comment">// boost</span></div>
|
||||
</div><!-- fragment --><h2><a class="anchor" id="technical_cio"></a>
|
||||
Console I/O</h2>
|
||||
<p>Console I/O is implemented as a wrapper around ReadConsoleW/WriteConsoleW (used when the stream goes to the "real" console) and ReadFile/WriteFile (used when the stream was piped/redirected).</p>
|
||||
<p>This approach eliminates a need of manual code page handling. If TrueType fonts are used the Unicode aware input and output works as intended.</p>
|
||||
<h1><a class="anchor" id="qna"></a>
|
||||
Q & A</h1>
|
||||
<p><b>Q: Why doesn't the library convert the string to/from the locale's encoding (instead of UTF-8) on POSIX systems?</b></p>
|
||||
<p>A: It is inherently incorrect to convert strings to/from locale encodings on POSIX platforms.</p>
|
||||
<p>You can create a file named "\xFF\xFF.txt" (invalid UTF-8), remove it, pass its name as a parameter to a program and it would work whether the current locale is UTF-8 or not. Also, changing the locale from let's say <code>en_US.UTF-8</code> to <code>en_US.ISO-8859-1</code> would not magically change all files in the OS or the strings a user may pass to the program (which is different on Windows)</p>
|
||||
<p>POSIX OSs treat strings as <code>NULL</code> terminated cookies.</p>
|
||||
<p>So altering their content according to the locale would actually lead to incorrect behavior.</p>
|
||||
<p>For example, this is a naive implementation of a standard program "rm"</p>
|
||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <cstdio></span></div>
|
||||
<div class="line"></div>
|
||||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc,<span class="keywordtype">char</span> **argv)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=1;i<argc;i++)</div>
|
||||
<div class="line"> std::remove(argv[i]);</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line">}</div>
|
||||
</div><!-- fragment --><p>It would work with ANY locale and changing the strings would lead to incorrect behavior.</p>
|
||||
<p>The meaning of a locale under POSIX and Windows platforms is different and has very different effects.</p>
|
||||
<h2><a class="anchor" id="standalone_version"></a>
|
||||
Standalone Version</h2>
|
||||
<p>It is possible to use Nowide library without having the huge Boost project as a dependency. There is a standalone version that has all the functionality in the <code>nowide</code> namespace instead of <code><a class="el" href="namespaceboost_1_1nowide.html" title="This namespace includes implementation of the standard library functios such that they accept UTF-8 s...">boost::nowide</a></code>. The example above would look like</p>
|
||||
<div class="fragment"><div class="line"><span class="preprocessor">#include <nowide/args.hpp></span></div>
|
||||
<div class="line"><span class="preprocessor">#include <nowide/fstream.hpp></span></div>
|
||||
<div class="line"><span class="preprocessor">#include <nowide/iostream.hpp></span></div>
|
||||
<div class="line"></div>
|
||||
<div class="line"><span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc,<span class="keywordtype">char</span> **argv)</div>
|
||||
<div class="line">{</div>
|
||||
<div class="line"> nowide::args a(argc,argv); <span class="comment">// Fix arguments - make them UTF-8</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(argc!=2) {</div>
|
||||
<div class="line"> nowide::cerr << <span class="stringliteral">"Usage: file_name"</span> << std::endl; <span class="comment">// Unicode aware console</span></div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"></div>
|
||||
<div class="line"> nowide::ifstream f(argv[1]); <span class="comment">// argv[1] - is UTF-8</span></div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(!f) {</div>
|
||||
<div class="line"> <span class="comment">// the console can display UTF-8</span></div>
|
||||
<div class="line"> nowide::cerr << <span class="stringliteral">"Can't open a file "</span> << argv[1] << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 1;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> <span class="keywordtype">int</span> total_lines = 0;</div>
|
||||
<div class="line"> <span class="keywordflow">while</span>(f) {</div>
|
||||
<div class="line"> <span class="keywordflow">if</span>(f.get() == <span class="charliteral">'\n'</span>)</div>
|
||||
<div class="line"> total_lines++;</div>
|
||||
<div class="line"> }</div>
|
||||
<div class="line"> f.close();</div>
|
||||
<div class="line"> <span class="comment">// the console can display UTF-8</span></div>
|
||||
<div class="line"> nowide::cout << <span class="stringliteral">"File "</span> << argv[1] << <span class="stringliteral">" has "</span> << total_lines << <span class="stringliteral">" lines"</span> << std::endl;</div>
|
||||
<div class="line"> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line">}</div>
|
||||
</div><!-- fragment --> <h2><a class="anchor" id="sources"></a>
|
||||
Sources and Downloads</h2>
|
||||
<p>The upstream sources can be found at GitHub: <a href="https://github.com/boostorg/nowide">https://github.com/boostorg/nowide</a></p>
|
||||
<p>You can download the latest sources there:</p>
|
||||
<ul>
|
||||
<li>Standard Version: <a href="https://github.com/boostorg/nowide/archive/master.zip">nowide-master.zip</a></li>
|
||||
<li>Standalone Boost independent version <a href="../nowide_standalone.zip">nowide_standalone.zip</a> </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
140
doc/html/iostream_8hpp_source.html
Normal file
@@ -0,0 +1,140 @@
|
||||
<!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/iostream.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">iostream.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_IOSTREAM_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_IOSTREAM_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/nowide/config.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/scoped_ptr.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <iostream></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <ostream></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include <istream></span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"># pragma warning(push)</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"># pragma warning(disable : 4251)</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor"> #if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keyword">using</span> std::cout;</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keyword">using</span> std::cerr;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">using</span> std::cin;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">using</span> std::clog;</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">namespace </span>details {</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">class </span>console_output_buffer;</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">class </span>console_input_buffer;</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keyword">class </span>BOOST_NOWIDE_DECL winconsole_ostream : <span class="keyword">public</span> std::ostream {</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  winconsole_ostream(winconsole_ostream <span class="keyword">const</span> &);</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordtype">void</span> operator=(winconsole_ostream <span class="keyword">const</span> &);</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  winconsole_ostream(<span class="keywordtype">int</span> fd);</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  ~winconsole_ostream();</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  boost::scoped_ptr<console_output_buffer> d;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  };</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">class </span>BOOST_NOWIDE_DECL winconsole_istream : <span class="keyword">public</span> std::istream {</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  winconsole_istream(winconsole_istream <span class="keyword">const</span> &);</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">void</span> operator=(winconsole_istream <span class="keyword">const</span> &);</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  winconsole_istream();</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  ~winconsole_istream();</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">struct </span>data;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  boost::scoped_ptr<console_input_buffer> d;</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  };</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  } <span class="comment">// details </span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">extern</span> BOOST_NOWIDE_DECL details::winconsole_istream <a class="code" href="namespaceboost_1_1nowide.html#a4a173da513651d5732f28689edc82364">cin</a>;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keyword">extern</span> BOOST_NOWIDE_DECL details::winconsole_ostream <a class="code" href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">cout</a>;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keyword">extern</span> BOOST_NOWIDE_DECL details::winconsole_ostream <a class="code" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">cerr</a>;</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">extern</span> BOOST_NOWIDE_DECL details::winconsole_ostream <a class="code" href="namespaceboost_1_1nowide.html#afe5faf4bac8b65598f69c33fcc97d4a2">clog</a>;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor">#ifdef BOOST_MSVC</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"># pragma warning(pop)</span></div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a3150e32a8082927f4843791c1dbc3587"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">boost::nowide::cout</a></div><div class="ttdeci">details::winconsole_ostream cout</div><div class="ttdoc">Same as std::cout, but uses UTF-8. </div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_afe5faf4bac8b65598f69c33fcc97d4a2"><div class="ttname"><a href="namespaceboost_1_1nowide.html#afe5faf4bac8b65598f69c33fcc97d4a2">boost::nowide::clog</a></div><div class="ttdeci">details::winconsole_ostream clog</div><div class="ttdoc">Same as std::clog, but uses UTF-8. </div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a4a173da513651d5732f28689edc82364"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a4a173da513651d5732f28689edc82364">boost::nowide::cin</a></div><div class="ttdeci">details::winconsole_istream cin</div><div class="ttdoc">Same as std::cin, but uses UTF-8. </div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a1c43cbf142f4e42edb0fea6044d40bcb"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">boost::nowide::cerr</a></div><div class="ttdeci">details::winconsole_ostream cerr</div><div class="ttdoc">Same as std::cerr, but uses UTF-8. </div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
31
doc/html/jquery.js
vendored
Normal file
958
doc/html/namespaceboost_1_1nowide.html
Normal file
@@ -0,0 +1,958 @@
|
||||
<!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 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 List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace 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> |
|
||||
<a href="#typedef-members">Typedefs</a> |
|
||||
<a href="#func-members">Functions</a> |
|
||||
<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  </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"> </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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classboost_1_1nowide_1_1basic__filebuf_3_01char_01_4.html">basic_filebuf< char ></a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </td><td class="mdescRight">Same as std::basic_fstream<char> 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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </td><td class="mdescRight">Same as std::basic_ifstream<char> 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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </td><td class="mdescRight">Same as std::basic_ofstream<char> 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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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< CharType, 2 ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </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< CharType, 4 ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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>< char > </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"> </td><td class="mdescRight">Convinience typedef. <a href="#aa2709df55bd08ca25c97f047afec0ba0">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa2709df55bd08ca25c97f047afec0ba0"><td class="memSeparator" colspan="2"> </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>< char > </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"> </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>< char > </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"> </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>< char > </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"> </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" />
|
||||
< wchar_t, char, 256 > </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"> </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" />
|
||||
< char, wchar_t, 256 > </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"> </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" />
|
||||
< wchar_t, char, 16 > </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"> </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" />
|
||||
< char, wchar_t, 16 > </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"> </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 * </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a19d4925ea2c77e0b2abd8f5d045a8af2"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a61c3e97d5b8fd9c9a1812e2004ef7db6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a61c3e97d5b8fd9c9a1812e2004ef7db6"></a>
|
||||
int </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"> </td><td class="mdescRight">Remove enviroment variable <em>key</em>. <br /></td></tr>
|
||||
<tr class="separator:a61c3e97d5b8fd9c9a1812e2004ef7db6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad42e1fc3dd7ac556a551fbac3fa553e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad42e1fc3dd7ac556a551fbac3fa553e3"></a>
|
||||
int </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a5816b009227ad8cd668881dfb5429ece"><td class="memTemplParams" colspan="2">template<typename CharOut , typename CharIn > </td></tr>
|
||||
<tr class="memitem:a5816b009227ad8cd668881dfb5429ece"><td class="memTemplItemLeft" align="right" valign="top">CharOut * </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"> </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"> </td></tr>
|
||||
<tr class="memitem:ac2b772caed760a75f611c2dc24153e4a"><td class="memItemLeft" align="right" valign="top">char * </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"> </td></tr>
|
||||
<tr class="memitem:a26caaed23d4adf0aa1ed0c1e218fad61"><td class="memItemLeft" align="right" valign="top">char * </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"> </td></tr>
|
||||
<tr class="memitem:a6baacc1bb80c134a2ce37f13977b5500"><td class="memItemLeft" align="right" valign="top">wchar_t * </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"> </td></tr>
|
||||
<tr class="memitem:a8bbb3c99ae08169220f3ba02ddf53a80"><td class="memItemLeft" align="right" valign="top">wchar_t * </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"> </td></tr>
|
||||
<tr class="memitem:a13b4f6f7f97f889ec858dde2d367b130"><td class="memItemLeft" align="right" valign="top">std::string </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"> </td></tr>
|
||||
<tr class="memitem:aa914b18890c98fe5b9d1f1f9db53410a"><td class="memItemLeft" align="right" valign="top">std::wstring </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"> </td></tr>
|
||||
<tr class="memitem:a3b237483918f54bc0ee7b0d750811fc6"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a3b237483918f54bc0ee7b0d750811fc6">narrow</a> (std::wstring const &s)</td></tr>
|
||||
<tr class="separator:a3b237483918f54bc0ee7b0d750811fc6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a478fc384f85c7fb53158d741d3cc066c"><td class="memItemLeft" align="right" valign="top">std::wstring </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost_1_1nowide.html#a478fc384f85c7fb53158d741d3cc066c">widen</a> (std::string const &s)</td></tr>
|
||||
<tr class="separator:a478fc384f85c7fb53158d741d3cc066c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adfd128693c677a8ad1266ee7b4cbdb41"><td class="memItemLeft" align="right" valign="top">FILE * </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a45d432e5684010f865702af97d47f087"><td class="memItemLeft" align="right" valign="top">FILE * </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"> </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"> </td></tr>
|
||||
<tr class="memitem:abc7aa6b5fa4b6bbb9eead9e12efc967b"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr>
|
||||
<tr class="memitem:ae499659be3b7b42ede7f0674b953efaf"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a3aba4b9d7d109837ab26e7d85f77a6d9"><td class="memItemLeft" align="right" valign="top">int </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"> </td></tr>
|
||||
<tr class="memitem:a35fcf44f20aed5c368c6e5008a7fcfff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35fcf44f20aed5c368c6e5008a7fcfff"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>BOOST_STATIC_ASSERT</b> (sizeof(std::mbstate_t)>=2)</td></tr>
|
||||
<tr class="separator:a35fcf44f20aed5c368c6e5008a7fcfff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7f94a60d0a9e5534a6dcc41bbc826ee8"><td class="memItemLeft" align="right" valign="top">void </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"> </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 </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a3150e32a8082927f4843791c1dbc3587"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream </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"> </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"> </td></tr>
|
||||
<tr class="memitem:a1c43cbf142f4e42edb0fea6044d40bcb"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream </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"> </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"> </td></tr>
|
||||
<tr class="memitem:afe5faf4bac8b65598f69c33fcc97d4a2"><td class="memItemLeft" align="right" valign="top">details::winconsole_ostream </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"> </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"> </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>< char > <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><char> <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><char> <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><char> <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><char,wchar_t,16> <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><char,wchar_t,256> <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><wchar_t,char,16> <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><wchar_t,char,256> <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<typename CharOut , typename CharIn > </div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">CharOut* boost::nowide::basic_convert </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">CharOut * </td>
|
||||
<td class="paramname"><em>buffer</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>buffer_size</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">CharIn const * </td>
|
||||
<td class="paramname"><em>source_begin</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">CharIn const * </td>
|
||||
<td class="paramname"><em>source_end</em> </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 * </td>
|
||||
<td class="paramname"><em>file_name</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>mode</em> </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 * </td>
|
||||
<td class="paramname"><em>file_name</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>mode</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">FILE * </td>
|
||||
<td class="paramname"><em>stream</em> </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 * </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 * </td>
|
||||
<td class="paramname"><em>output</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>output_size</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">wchar_t const * </td>
|
||||
<td class="paramname"><em>source</em> </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 * </td>
|
||||
<td class="paramname"><em>output</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>output_size</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">wchar_t const * </td>
|
||||
<td class="paramname"><em>begin</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">wchar_t const * </td>
|
||||
<td class="paramname"><em>end</em> </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 * </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 & </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 * </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 * </td>
|
||||
<td class="paramname"><em>old_name</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>new_name</em> </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 * </td>
|
||||
<td class="paramname"><em>key</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>value</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>override</em> </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 * </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 * </td>
|
||||
<td class="paramname"><em>output</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>output_size</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>source</em> </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 * </td>
|
||||
<td class="paramname"><em>output</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>output_size</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>begin</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char const * </td>
|
||||
<td class="paramname"><em>end</em> </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 * </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 & </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  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
200
doc/html/namespacemembers.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<!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: Namespace Members</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 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 List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow4" class="tabs3">
|
||||
<ul class="tablist">
|
||||
<li><a href="#index_b"><span>b</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_o"><span>o</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_u"><span>u</span></a></li>
|
||||
<li class="current"><a href="#index_w"><span>w</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented namespace members with links to the namespaces they belong to:</div>
|
||||
|
||||
<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
|
||||
<li>basic_convert()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
|
||||
<li>cerr
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">boost::nowide</a>
|
||||
</li>
|
||||
<li>cin
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a4a173da513651d5732f28689edc82364">boost::nowide</a>
|
||||
</li>
|
||||
<li>clog
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#afe5faf4bac8b65598f69c33fcc97d4a2">boost::nowide</a>
|
||||
</li>
|
||||
<li>cout
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
|
||||
<li>filebuf
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">boost::nowide</a>
|
||||
</li>
|
||||
<li>fopen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">boost::nowide</a>
|
||||
</li>
|
||||
<li>freopen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41">boost::nowide</a>
|
||||
</li>
|
||||
<li>fstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_g"></a>- g -</h3><ul>
|
||||
<li>getenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a6644397c539754076b11e95c535be192">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
|
||||
<li>ifstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
|
||||
<li>narrow()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">boost::nowide</a>
|
||||
</li>
|
||||
<li>nowide_filesystem()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
|
||||
<li>ofstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
|
||||
<li>putenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
|
||||
<li>remove()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ae499659be3b7b42ede7f0674b953efaf">boost::nowide</a>
|
||||
</li>
|
||||
<li>rename()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
|
||||
<li>setenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2">boost::nowide</a>
|
||||
</li>
|
||||
<li>short_stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">boost::nowide</a>
|
||||
</li>
|
||||
<li>stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide</a>
|
||||
</li>
|
||||
<li>system()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_u"></a>- u -</h3><ul>
|
||||
<li>unsetenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
|
||||
<li>widen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide</a>
|
||||
</li>
|
||||
<li>wshort_stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">boost::nowide</a>
|
||||
</li>
|
||||
<li>wstackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
102
doc/html/namespacemembers_func.html
Normal file
@@ -0,0 +1,102 @@
|
||||
<!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: Namespace Members</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 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 List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>basic_convert()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">boost::nowide</a>
|
||||
</li>
|
||||
<li>fopen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a45d432e5684010f865702af97d47f087">boost::nowide</a>
|
||||
</li>
|
||||
<li>freopen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#adfd128693c677a8ad1266ee7b4cbdb41">boost::nowide</a>
|
||||
</li>
|
||||
<li>getenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a6644397c539754076b11e95c535be192">boost::nowide</a>
|
||||
</li>
|
||||
<li>narrow()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ac2b772caed760a75f611c2dc24153e4a">boost::nowide</a>
|
||||
</li>
|
||||
<li>nowide_filesystem()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a7f94a60d0a9e5534a6dcc41bbc826ee8">boost::nowide</a>
|
||||
</li>
|
||||
<li>putenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ad42e1fc3dd7ac556a551fbac3fa553e3">boost::nowide</a>
|
||||
</li>
|
||||
<li>remove()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ae499659be3b7b42ede7f0674b953efaf">boost::nowide</a>
|
||||
</li>
|
||||
<li>rename()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#abc7aa6b5fa4b6bbb9eead9e12efc967b">boost::nowide</a>
|
||||
</li>
|
||||
<li>setenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a19d4925ea2c77e0b2abd8f5d045a8af2">boost::nowide</a>
|
||||
</li>
|
||||
<li>system()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9">boost::nowide</a>
|
||||
</li>
|
||||
<li>unsetenv()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a61c3e97d5b8fd9c9a1812e2004ef7db6">boost::nowide</a>
|
||||
</li>
|
||||
<li>widen()
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a6baacc1bb80c134a2ce37f13977b5500">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
87
doc/html/namespacemembers_type.html
Normal file
@@ -0,0 +1,87 @@
|
||||
<!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: Namespace Members</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 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 List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li class="current"><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>filebuf
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#aa2709df55bd08ca25c97f047afec0ba0">boost::nowide</a>
|
||||
</li>
|
||||
<li>fstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ab750bb37dd7f652f1222180f8f00f475">boost::nowide</a>
|
||||
</li>
|
||||
<li>ifstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a9b2fe88d2c896641bf2ac9913ab5dc83">boost::nowide</a>
|
||||
</li>
|
||||
<li>ofstream
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a547c43290e3c142116f8713c233e3662">boost::nowide</a>
|
||||
</li>
|
||||
<li>short_stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">boost::nowide</a>
|
||||
</li>
|
||||
<li>stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide</a>
|
||||
</li>
|
||||
<li>wshort_stackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">boost::nowide</a>
|
||||
</li>
|
||||
<li>wstackstring
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
75
doc/html/namespacemembers_vars.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<!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: Namespace Members</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 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 List</span></a></li>
|
||||
<li class="current"><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow3" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="namespacemembers.html"><span>All</span></a></li>
|
||||
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
|
||||
<li class="current"><a href="namespacemembers_vars.html"><span>Variables</span></a></li>
|
||||
<li><a href="namespacemembers_type.html"><span>Typedefs</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="contents">
|
||||
 <ul>
|
||||
<li>cerr
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a1c43cbf142f4e42edb0fea6044d40bcb">boost::nowide</a>
|
||||
</li>
|
||||
<li>cin
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a4a173da513651d5732f28689edc82364">boost::nowide</a>
|
||||
</li>
|
||||
<li>clog
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#afe5faf4bac8b65598f69c33fcc97d4a2">boost::nowide</a>
|
||||
</li>
|
||||
<li>cout
|
||||
: <a class="el" href="namespaceboost_1_1nowide.html#a3150e32a8082927f4843791c1dbc3587">boost::nowide</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
63
doc/html/namespaces.html
Normal file
@@ -0,0 +1,63 @@
|
||||
<!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: Namespace List</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 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 class="current"><a href="namespaces.html"><span>Namespace List</span></a></li>
|
||||
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Namespace List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented namespaces with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><b>boost</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceboost_1_1nowide.html" target="_self">nowide</a></td><td class="desc">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) </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/nav_f.png
Normal file
|
After Width: | Height: | Size: 153 B |
BIN
doc/html/nav_g.png
Normal file
|
After Width: | Height: | Size: 95 B |
BIN
doc/html/nav_h.png
Normal file
|
After Width: | Height: | Size: 98 B |
BIN
doc/html/open.png
Normal file
|
After Width: | Height: | Size: 123 B |
200
doc/html/stackstring_8hpp_source.html
Normal file
@@ -0,0 +1,200 @@
|
||||
<!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/stackstring.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">stackstring.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_DETAILS_WIDESTR_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_DETAILS_WIDESTR_H_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <boost/nowide/convert.hpp></span></div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <string.h></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <algorithm></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">template</span><<span class="keyword">typename</span> CharOut=<span class="keywordtype">wchar_t</span>,<span class="keyword">typename</span> CharIn = <span class="keywordtype">char</span>,<span class="keywordtype">size_t</span> BufferSize = 256></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1basic__stackstring.html"> 25</a></span> <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> {</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> buffer_size = BufferSize; </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keyword">typedef</span> CharOut output_char;</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keyword">typedef</span> CharIn input_char;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>(<a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> <span class="keyword">const</span> &other) : </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  mem_buffer_(0)</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  clear();</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">if</span>(other.mem_buffer_) {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordtype">size_t</span> len = 0;</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">while</span>(other.mem_buffer_[len])</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  len ++;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  mem_buffer_ = <span class="keyword">new</span> output_char[len + 1];</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  memcpy(mem_buffer_,other.mem_buffer_,<span class="keyword">sizeof</span>(output_char) * (len+1));</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  memcpy(buffer_,other.buffer_,buffer_size * <span class="keyword">sizeof</span>(output_char));</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  }</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordtype">void</span> swap(<a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> &other)</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  std::swap(mem_buffer_,other.mem_buffer_);</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">for</span>(<span class="keywordtype">size_t</span> i=0;i<buffer_size;i++)</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  std::swap(buffer_[i],other.buffer_[i]);</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  }</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> &operator=(<a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> <span class="keyword">const</span> &other)</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span>(<span class="keyword">this</span> != &other) {</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a> tmp(other);</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  swap(tmp); </div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>() : mem_buffer_(0)</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordtype">bool</span> convert(input_char <span class="keyword">const</span> *input)</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> convert(input,details::basic_strend(input));</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordtype">bool</span> convert(input_char <span class="keyword">const</span> *begin,input_char <span class="keyword">const</span> *end)</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  clear();</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">size_t</span> space = get_space(<span class="keyword">sizeof</span>(input_char),<span class="keyword">sizeof</span>(output_char),end - begin) + 1;</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span>(space <= buffer_size) {</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(buffer_,buffer_size,begin,end))</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  clear();</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  mem_buffer_ = <span class="keyword">new</span> output_char[space];</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span>(!<a class="code" href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">basic_convert</a>(mem_buffer_,space,begin,end)) {</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  clear();</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  output_char *c_str()</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span>(mem_buffer_)</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> mem_buffer_;</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">return</span> buffer_;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  output_char <span class="keyword">const</span> *c_str()<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">if</span>(mem_buffer_)</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> mem_buffer_;</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">return</span> buffer_;</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">void</span> clear()</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span>(mem_buffer_) {</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keyword">delete</span> [] mem_buffer_;</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  mem_buffer_=0;</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  buffer_[0] = 0;</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  ~<a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring</a>()</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  clear();</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">static</span> <span class="keywordtype">size_t</span> get_space(<span class="keywordtype">size_t</span> insize,<span class="keywordtype">size_t</span> outsize,<span class="keywordtype">size_t</span> in)</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span>(insize <= outsize)</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> in;</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(insize == 2 && outsize == 1) </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> 3 * in;</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(insize == 4 && outsize == 1) </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> 4 * in;</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">else</span> <span class="comment">// if(insize == 4 && outsize == 2) </span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> 2 * in;</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  output_char buffer_[buffer_size];</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  output_char *mem_buffer_;</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }; <span class="comment">//basic_stackstring</span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964"> 134</a></span> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring<wchar_t,char,256></a> <a class="code" href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">wstackstring</a>;</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12"> 138</a></span> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring<char,wchar_t,256></a> <a class="code" href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">stackstring</a>;</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d"> 142</a></span> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring<wchar_t,char,16></a> <a class="code" href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">wshort_stackstring</a>;</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d"> 146</a></span> <span class="keyword">typedef</span> <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">basic_stackstring<char,wchar_t,16></a> <a class="code" href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">short_stackstring</a>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_ad80f6180f982a07763927345660c7964"><div class="ttname"><a href="namespaceboost_1_1nowide.html#ad80f6180f982a07763927345660c7964">boost::nowide::wstackstring</a></div><div class="ttdeci">basic_stackstring< wchar_t, char, 256 > wstackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:134</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a8369c10c0df6e36cd10cb9f9beb3149d"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a8369c10c0df6e36cd10cb9f9beb3149d">boost::nowide::wshort_stackstring</a></div><div class="ttdeci">basic_stackstring< wchar_t, char, 16 > wshort_stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:142</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a76cf6347917b8b29dc4140afa1d5ff2d"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a76cf6347917b8b29dc4140afa1d5ff2d">boost::nowide::short_stackstring</a></div><div class="ttdeci">basic_stackstring< char, wchar_t, 16 > short_stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:146</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_acd4c19d4e98ae3e50b08ef2ef5056a12"><div class="ttname"><a href="namespaceboost_1_1nowide.html#acd4c19d4e98ae3e50b08ef2ef5056a12">boost::nowide::stackstring</a></div><div class="ttdeci">basic_stackstring< char, wchar_t, 256 > stackstring</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:138</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__stackstring_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring</a></div><div class="ttdoc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:25</div></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a5816b009227ad8cd668881dfb5429ece"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a5816b009227ad8cd668881dfb5429ece">boost::nowide::basic_convert</a></div><div class="ttdeci">CharOut * basic_convert(CharOut *buffer, size_t buffer_size, CharIn const *source_begin, CharIn const *source_end)</div><div class="ttdoc">Template function that converts a buffer of UTF sequences in range [source_begin,source_end) to the o...</div><div class="ttdef"><b>Definition:</b> convert.hpp:26</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/sync_off.png
Normal file
|
After Width: | Height: | Size: 853 B |
BIN
doc/html/sync_on.png
Normal file
|
After Width: | Height: | Size: 845 B |
102
doc/html/system_8hpp_source.html
Normal file
@@ -0,0 +1,102 @@
|
||||
<!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/system.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">system.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_CSTDLIB_HPP</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_CSTDLIB_HPP</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <stdlib.h></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <errno.h></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <boost/nowide/stackstring.hpp></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#if !defined(BOOST_WINDOWS) && !defined(BOOST_NOWIDE_DOXYGEN)</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> using ::system;</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#else // Windows</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9"> 28</a></span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9">system</a>(<span class="keywordtype">char</span> <span class="keyword">const</span> *cmd)</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <span class="keywordflow">if</span>(!cmd)</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">return</span> _wsystem(0);</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classboost_1_1nowide_1_1basic__stackstring.html">wstackstring</a> wcmd;</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keywordflow">if</span>(!wcmd.convert(cmd)) {</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  errno = EINVAL;</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">return</span> _wsystem(wcmd.c_str());</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> }</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="namespaceboost_1_1nowide_html_a3aba4b9d7d109837ab26e7d85f77a6d9"><div class="ttname"><a href="namespaceboost_1_1nowide.html#a3aba4b9d7d109837ab26e7d85f77a6d9">boost::nowide::system</a></div><div class="ttdeci">int system(char const *cmd)</div><div class="ttdef"><b>Definition:</b> system.hpp:28</div></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1basic__stackstring_html"><div class="ttname"><a href="classboost_1_1nowide_1_1basic__stackstring.html">boost::nowide::basic_stackstring</a></div><div class="ttdoc">A class that allows to create a temporary wide or narrow UTF strings from wide or narrow UTF source...</div><div class="ttdef"><b>Definition:</b> stackstring.hpp:25</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
BIN
doc/html/tab_a.png
Normal file
|
After Width: | Height: | Size: 142 B |
BIN
doc/html/tab_b.png
Normal file
|
After Width: | Height: | Size: 169 B |
BIN
doc/html/tab_h.png
Normal file
|
After Width: | Height: | Size: 177 B |
BIN
doc/html/tab_s.png
Normal file
|
After Width: | Height: | Size: 184 B |
60
doc/html/tabs.css
Normal file
@@ -0,0 +1,60 @@
|
||||
.tabs, .tabs2, .tabs3 {
|
||||
background-image: url('tab_b.png');
|
||||
width: 100%;
|
||||
z-index: 101;
|
||||
font-size: 13px;
|
||||
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
|
||||
}
|
||||
|
||||
.tabs2 {
|
||||
font-size: 10px;
|
||||
}
|
||||
.tabs3 {
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
.tablist {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: table;
|
||||
}
|
||||
|
||||
.tablist li {
|
||||
float: left;
|
||||
display: table-cell;
|
||||
background-image: url('tab_b.png');
|
||||
line-height: 36px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.tablist a {
|
||||
display: block;
|
||||
padding: 0 20px;
|
||||
font-weight: bold;
|
||||
background-image:url('tab_s.png');
|
||||
background-repeat:no-repeat;
|
||||
background-position:right;
|
||||
color: #283A5D;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.tabs3 .tablist a {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.tablist a:hover {
|
||||
background-image: url('tab_h.png');
|
||||
background-repeat:repeat-x;
|
||||
color: #fff;
|
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.tablist li.current a {
|
||||
background-image: url('tab_a.png');
|
||||
background-repeat:repeat-x;
|
||||
color: #fff;
|
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
|
||||
}
|
||||
558
doc/html/utf8__codecvt_8hpp_source.html
Normal file
@@ -0,0 +1,558 @@
|
||||
<!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/utf8_codecvt.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">utf8_codecvt.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2015 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_UTF8_CODECVT_HPP</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_UTF8_CODECVT_HPP</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <boost/locale/utf.hpp></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include <boost/cstdint.hpp></span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include <boost/static_assert.hpp></span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <locale></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">namespace </span>boost {</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span>nowide {</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// Make sure that mbstate can keep 16 bit of UTF-16 sequence</span></div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> BOOST_STATIC_ASSERT(<span class="keyword">sizeof</span>(std::mbstate_t)>=2);</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#if defined _MSC_VER && _MSC_VER < 1700</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// MSVC do_length is non-standard it counts wide characters instead of narrow and does not change mbstate</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</span></div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">template</span><<span class="keyword">typename</span> CharType,<span class="keywordtype">int</span> CharSize=sizeof(CharType)></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1utf8__codecvt.html"> 30</a></span> <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a>;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">template</span><<span class="keyword">typename</span> CharType></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_012_01_4.html"> 33</a></span> <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a><CharType,2> : <span class="keyword">public</span> std::codecvt<CharType,char,std::mbstate_t></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a>(<span class="keywordtype">size_t</span> refs = 0) : std::codecvt<CharType,char,std::mbstate_t>(refs)</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keyword">typedef</span> CharType uchar;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">virtual</span> std::codecvt_base::result do_unshift(std::mbstate_t &s,<span class="keywordtype">char</span> *from,<span class="keywordtype">char</span> * <span class="comment">/*to*/</span>,<span class="keywordtype">char</span> *&next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  boost::uint16_t &state = *<span class="keyword">reinterpret_cast<</span>boost::uint16_t *<span class="keyword">></span>(&s);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  std::cout << <span class="stringliteral">"Entering unshift "</span> << std::hex << state << std::dec << std::endl;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span>(state != 0)</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  next=from;</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">return</span> std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  }</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> do_encoding() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> do_max_length() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> 4;</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> do_always_noconv() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  do_length( std::mbstate_t</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  #ifdef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keyword">const</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  #endif</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  &std_state,</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">size_t</span> max)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"> #ifndef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *save_from = from;</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  boost::uint16_t &state = *<span class="keyword">reinterpret_cast<</span>boost::uint16_t *<span class="keyword">></span>(&std_state);</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">size_t</span> save_max = max;</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  boost::uint16_t state = *<span class="keyword">reinterpret_cast<</span>boost::uint16_t <span class="keyword">const </span>*<span class="keyword">></span>(&std_state);</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">while</span>(max > 0 && from < from_end){</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *prev_from = from;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  boost::uint32_t ch=boost::locale::utf::utf_traits<char>::decode(from,from_end);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::incomplete || ch==boost::locale::utf::illegal) {</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  from = prev_from;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  max --;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">if</span>(ch > 0xFFFF) {</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span>(state == 0) {</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  from = prev_from;</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  state = 1;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  state = 0;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> #ifndef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">return</span> from - save_from;</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">return</span> save_max - max;</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">virtual</span> std::codecvt_base::result</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  do_in( std::mbstate_t &std_state,</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *&from_next,</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  uchar *to,</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  uchar *to_end,</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  uchar *&to_next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  std::codecvt_base::result r=std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="comment">// according to standard. We use it to keep a flag 0/1 for surrogate pair writing</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// if 0 no code above >0xFFFF observed, of 1 a code above 0xFFFF observerd</span></div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="comment">// and first pair is written, but no input consumed</span></div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  boost::uint16_t &state = *<span class="keyword">reinterpret_cast<</span>boost::uint16_t *<span class="keyword">></span>(&std_state);</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">while</span>(to < to_end && from < from_end)</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  std::cout << <span class="stringliteral">"Entering IN--------------"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_saved = from;</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  uint32_t ch=boost::locale::utf::utf_traits<char>::decode(from,from_end);</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::illegal) {</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  from = from_saved;</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::incomplete) {</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  from = from_saved;</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  r=std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// Normal codepoints go direcly to stream</span></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">if</span>(ch <= 0xFFFF) {</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  *to++=ch;</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">// for other codepoints we do following</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="comment">// 1. We can't consume our input as we may find ourselfs</span></div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">// in state where all input consumed but not all output written,i.e. only</span></div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="comment">// 1st pair is written</span></div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">// 2. We only write first pair and mark this in the state, we also revert back</span></div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// the from pointer in order to make sure this codepoint would be read</span></div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="comment">// once again and then we would consume our input together with writing</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// second surrogate pair</span></div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  ch-=0x10000;</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  boost::uint16_t vh = ch >> 10;</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  boost::uint16_t vl = ch & 0x3FF;</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  boost::uint16_t w1 = vh + 0xD800;</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  boost::uint16_t w2 = vl + 0xDC00;</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span>(state == 0) {</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  from = from_saved;</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  *to++ = w1;</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  state = 1;</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  *to++ = w2;</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  state = 0;</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  }</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  from_next=from;</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  to_next=to;</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">if</span>(r == std::codecvt_base::ok && (from!=from_end || state!=0))</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  r = std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  std::cout << <span class="stringliteral">"Returning "</span>;</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">switch</span>(r) {</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">case</span> std::codecvt_base::ok:</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  std::cout << <span class="stringliteral">"ok"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">case</span> std::codecvt_base::partial:</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  std::cout << <span class="stringliteral">"partial"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">case</span> std::codecvt_base::error:</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  std::cout << <span class="stringliteral">"error"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  std::cout << <span class="stringliteral">"other"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> r;</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">virtual</span> std::codecvt_base::result</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  do_out( std::mbstate_t &std_state,</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  uchar <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  uchar <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  uchar <span class="keyword">const</span> *&from_next,</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">char</span> *to,</div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordtype">char</span> *to_end,</div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">char</span> *&to_next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  std::codecvt_base::result r=std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="comment">// mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())</span></div>
|
||||
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// according to standard. We assume that sizeof(mbstate_t) >=2 in order</span></div>
|
||||
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="comment">// to be able to store first observerd surrogate pair</span></div>
|
||||
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="comment">// State: state!=0 - a first surrogate pair was observerd (state = first pair),</span></div>
|
||||
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="comment">// we expect the second one to come and then zero the state</span></div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="comment"></span> boost::uint16_t &state = *<span class="keyword">reinterpret_cast<</span>boost::uint16_t *<span class="keyword">></span>(&std_state);</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">while</span>(to < to_end && from < from_end)</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  std::cout << <span class="stringliteral">"Entering OUT --------------"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  boost::uint32_t ch=0;</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">if</span>(state != 0) {</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">// if the state idecates that 1st surrogate pair was written</span></div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="comment">// we should make sure that the second one that comes is actually</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">// second surrogate</span></div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  boost::uint16_t w1 = state;</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  boost::uint16_t w2 = *from;</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="comment">// we don't forward from as writing may fail to incomplete or</span></div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="comment">// partial conversion</span></div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span>(0xDC00 <= w2 && w2<=0xDFFF) {</div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  boost::uint16_t vh = w1 - 0xD800;</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  boost::uint16_t vl = w2 - 0xDC00;</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  ch=((uint32_t(vh) << 10) | vl) + 0x10000;</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="comment">// Invalid surrogate</span></div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  ch = *from;</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">if</span>(0xD800 <= ch && ch<=0xDBFF) {</div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="comment">// if this is a first surrogate pair we put</span></div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="comment">// it into the state and consume it, note we don't</span></div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="comment">// go forward as it should be illegal so we increase</span></div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="comment">// the from pointer manually</span></div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  state = ch;</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  from++;</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  }</div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(0xDC00 <= ch && ch<=0xDFFF) {</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="comment">// if we observe second surrogate pair and</span></div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="comment">// first only may be expected we should break from the loop with error</span></div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="comment">// as it is illegal input</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span>(!boost::locale::utf::is_valid_codepoint(ch)) {</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">int</span> len = boost::locale::utf::utf_traits<char>::width(ch);</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">if</span>(to_end - to < len) {</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  r=std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  to = boost::locale::utf::utf_traits<char>::encode(ch,to);</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  state = 0;</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  from++;</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  from_next=from;</div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  to_next=to;</div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">if</span>(r==std::codecvt_base::ok && from!=from_end)</div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  r = std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  std::cout << <span class="stringliteral">"Returning "</span>;</div>
|
||||
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">switch</span>(r) {</div>
|
||||
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> std::codecvt_base::ok:</div>
|
||||
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  std::cout << <span class="stringliteral">"ok"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> std::codecvt_base::partial:</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  std::cout << <span class="stringliteral">"partial"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">case</span> std::codecvt_base::error:</div>
|
||||
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  std::cout << <span class="stringliteral">"error"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  std::cout << <span class="stringliteral">"other"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
||||
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> r;</div>
|
||||
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div>
|
||||
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> </div>
|
||||
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> };</div>
|
||||
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
|
||||
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="keyword">template</span><<span class="keyword">typename</span> CharType></div>
|
||||
<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classboost_1_1nowide_1_1utf8__codecvt_3_01CharType_00_014_01_4.html"> 310</a></span> <span class="keyword">class </span><a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a><CharType,4> : <span class="keyword">public</span> std::codecvt<CharType,char,std::mbstate_t></div>
|
||||
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> {</div>
|
||||
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classboost_1_1nowide_1_1utf8__codecvt.html">utf8_codecvt</a>(<span class="keywordtype">size_t</span> refs = 0) : std::codecvt<CharType,char,std::mbstate_t>(refs)</div>
|
||||
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div>
|
||||
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
||||
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keyword">protected</span>:</div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keyword">typedef</span> CharType uchar;</div>
|
||||
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
|
||||
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">virtual</span> std::codecvt_base::result do_unshift(std::mbstate_t &<span class="comment">/*s*/</span>,<span class="keywordtype">char</span> *from,<span class="keywordtype">char</span> * <span class="comment">/*to*/</span>,<span class="keywordtype">char</span> *&next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  next=from;</div>
|
||||
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  }</div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> do_encoding() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  {</div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div>
|
||||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> do_max_length() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> 4;</div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> do_always_noconv() <span class="keyword">const</span> <span class="keywordflow">throw</span>()</div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span></div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  do_length( std::mbstate_t</div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  #ifdef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keyword">const</span></div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  #endif</div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  &<span class="comment">/*state*/</span>,</div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">size_t</span> max)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="preprocessor"> #ifndef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</span></div>
|
||||
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *start_from = from;</div>
|
||||
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordtype">size_t</span> save_max = max;</div>
|
||||
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">while</span>(max > 0 && from < from_end){</div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *save_from = from;</div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  boost::uint32_t ch=boost::locale::utf::utf_traits<char>::decode(from,from_end);</div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::incomplete || ch==boost::locale::utf::illegal) {</div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  from = save_from;</div>
|
||||
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div>
|
||||
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  max--;</div>
|
||||
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  }</div>
|
||||
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="preprocessor"> #ifndef BOOST_NOWIDE_DO_LENGTH_MBSTATE_CONST</span></div>
|
||||
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> from - start_from;</div>
|
||||
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="preprocessor"> #else</span></div>
|
||||
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">return</span> save_max - max;</div>
|
||||
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="preprocessor"> #endif</span></div>
|
||||
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div>
|
||||
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div>
|
||||
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
|
||||
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keyword">virtual</span> std::codecvt_base::result</div>
|
||||
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  do_in( std::mbstate_t &<span class="comment">/*state*/</span>,</div>
|
||||
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *&from_next,</div>
|
||||
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  uchar *to,</div>
|
||||
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  uchar *to_end,</div>
|
||||
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  uchar *&to_next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  std::codecvt_base::result r=std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="comment">// mbstate_t is POD type and should be initialized to 0 (i.a. state = stateT())</span></div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="comment">// according to standard. We use it to keep a flag 0/1 for surrogate pair writing</span></div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="comment">// if 0 no code above >0xFFFF observed, of 1 a code above 0xFFFF observerd</span></div>
|
||||
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="comment">// and first pair is written, but no input consumed</span></div>
|
||||
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">while</span>(to < to_end && from < from_end)</div>
|
||||
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  {</div>
|
||||
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  std::cout << <span class="stringliteral">"Entering IN--------------"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">char</span> <span class="keyword">const</span> *from_saved = from;</div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div>
|
||||
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  uint32_t ch=boost::locale::utf::utf_traits<char>::decode(from,from_end);</div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> </div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::illegal) {</div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  from = from_saved;</div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordflow">if</span>(ch==boost::locale::utf::incomplete) {</div>
|
||||
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  r=std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  from=from_saved;</div>
|
||||
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div>
|
||||
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  *to++=ch;</div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  from_next=from;</div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  to_next=to;</div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">if</span>(r == std::codecvt_base::ok && from!=from_end)</div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  r = std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  std::cout << <span class="stringliteral">"Returning "</span>;</div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">switch</span>(r) {</div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">case</span> std::codecvt_base::ok:</div>
|
||||
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  std::cout << <span class="stringliteral">"ok"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">case</span> std::codecvt_base::partial:</div>
|
||||
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  std::cout << <span class="stringliteral">"partial"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">case</span> std::codecvt_base::error:</div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  std::cout << <span class="stringliteral">"error"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  std::cout << <span class="stringliteral">"other"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div>
|
||||
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> r;</div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keyword">virtual</span> std::codecvt_base::result</div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  do_out( std::mbstate_t &std_state,</div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  uchar <span class="keyword">const</span> *from,</div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  uchar <span class="keyword">const</span> *from_end,</div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  uchar <span class="keyword">const</span> *&from_next,</div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordtype">char</span> *to,</div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordtype">char</span> *to_end,</div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordtype">char</span> *&to_next)<span class="keyword"> const</span></div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keyword"> </span>{</div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  std::codecvt_base::result r=std::codecvt_base::ok;</div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">while</span>(to < to_end && from < from_end)</div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  {</div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  std::cout << <span class="stringliteral">"Entering OUT --------------"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  boost::uint32_t ch=0;</div>
|
||||
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  ch = *from;</div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">if</span>(!boost::locale::utf::is_valid_codepoint(ch)) {</div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  r=std::codecvt_base::error;</div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  }</div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordtype">int</span> len = boost::locale::utf::utf_traits<char>::width(ch);</div>
|
||||
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">if</span>(to_end - to < len) {</div>
|
||||
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  r=std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  }</div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  to = boost::locale::utf::utf_traits<char>::encode(ch,to);</div>
|
||||
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  from++;</div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  }</div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  from_next=from;</div>
|
||||
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  to_next=to;</div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">if</span>(r==std::codecvt_base::ok && from!=from_end)</div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  r = std::codecvt_base::partial;</div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="preprocessor">#ifdef DEBUG_CODECVT</span></div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  std::cout << <span class="stringliteral">"Returning "</span>;</div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">switch</span>(r) {</div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">case</span> std::codecvt_base::ok:</div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  std::cout << <span class="stringliteral">"ok"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">case</span> std::codecvt_base::partial:</div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  std::cout << <span class="stringliteral">"partial"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">case</span> std::codecvt_base::error:</div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  std::cout << <span class="stringliteral">"error"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  std::cout << <span class="stringliteral">"other"</span> << std::endl;</div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  std::cout << <span class="stringliteral">"State "</span> << std::hex << state <<std::endl;</div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  std::cout << <span class="stringliteral">"Left in "</span> << std::dec << from_end - from << <span class="stringliteral">" out "</span> << to_end -to << std::endl;</div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">return</span> r;</div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  }</div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> };</div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> } <span class="comment">// nowide</span></div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> } <span class="comment">// namespace boost</span></div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
<div class="ttc" id="classboost_1_1nowide_1_1utf8__codecvt_html"><div class="ttname"><a href="classboost_1_1nowide_1_1utf8__codecvt.html">boost::nowide::utf8_codecvt</a></div><div class="ttdef"><b>Definition:</b> utf8_codecvt.hpp:30</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
98
doc/html/windows_8hpp_source.html
Normal file
@@ -0,0 +1,98 @@
|
||||
<!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/windows.hpp Source File</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_c8984f1860c11f62f47abb6761e46c1e.html">boost</a></li><li class="navelem"><a class="el" href="dir_cba7cd329d8f45cf06543cd3b730d485.html">nowide</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">windows.hpp</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// Copyright (c) 2012 Artyom Beilis (Tonkikh)</span></div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// Distributed under the Boost Software License, Version 1.0. (See</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// accompanying file LICENSE_1_0.txt or copy at</span></div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// http://www.boost.org/LICENSE_1_0.txt)</span></div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef BOOST_NOWIDE_WINDOWS_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define BOOST_NOWIDE_WINDOWS_HPP_INCLUDED</span></div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <stddef.h></span></div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifdef BOOST_NOWIDE_USE_WINDOWS_H</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include <windows.h></span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#else</span></div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// These are function prototypes... Allow to to include windows.h</span></div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> __declspec(dllimport) wchar_t* __stdcall GetEnvironmentStringsW(<span class="keywordtype">void</span>);</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> __declspec(dllimport) <span class="keywordtype">int</span> __stdcall FreeEnvironmentStringsW(<span class="keywordtype">wchar_t</span> *);</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> __declspec(dllimport) <span class="keywordtype">wchar_t</span>* __stdcall GetCommandLineW(<span class="keywordtype">void</span>);</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> __declspec(dllimport) <span class="keywordtype">wchar_t</span>** __stdcall CommandLineToArgvW(<span class="keywordtype">wchar_t</span> const *,<span class="keywordtype">int</span> *);</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> __declspec(dllimport) <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> __stdcall GetLastError();</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> __declspec(dllimport) <span class="keywordtype">void</span>* __stdcall LocalFree(<span class="keywordtype">void</span> *);</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> __declspec(dllimport) <span class="keywordtype">int</span> __stdcall SetEnvironmentVariableW(<span class="keywordtype">wchar_t</span> const *,<span class="keywordtype">wchar_t</span> const *);</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> __declspec(dllimport) <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> __stdcall GetEnvironmentVariableW(<span class="keywordtype">wchar_t</span> const *,<span class="keywordtype">wchar_t</span> *,<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>);</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> }</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#endif </span></div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.7
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||