Welcome to mirror list, hosted at ThFree Co, Russian Federation.

classrapidjson_1_1_encoding.html « zh-cn - github.com/miloyip/rapidjson.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 96485d22bf72e56352dc6c9c074628438b4dd438 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!-- HTML header for doxygen 1.8.7-->
<!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>RapidJSON: rapidjson::Encoding类 参考</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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygenextra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="topbanner"><a href="https://github.com/miloyip/rapidjson" title="RapidJSON GitHub"><i class="githublogo"></i></a></div>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.7 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classrapidjson_1_1_encoding.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>类</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>命名空间</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>枚举</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>枚举值</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>友元</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>宏定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>组</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>页</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">rapidjson::Encoding类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Concept for encoding of Unicode characters.  
 <a href="classrapidjson_1_1_encoding.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="encodings_8h_source.html">encodings.h</a>&gt;</code></p>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>Concept for encoding of Unicode characters. </p>
<div class="fragment"><div class="line">concept Encoding {</div>
<div class="line">    <span class="keyword">typename</span> Ch;    <span class="comment">//! Type of character. A &quot;character&quot; is actually a code unit in unicode&#39;s definition.</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line">    <span class="keyword">enum</span> { supportUnicode = 1 }; <span class="comment">// or 0 if not supporting unicode</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! \brief Encode a Unicode codepoint to an output stream.</span></div>
<div class="line"><span class="comment">    //! \param os Output stream.</span></div>
<div class="line"><span class="comment">    //! \param codepoint An unicode codepoint, ranging from 0x0 to 0x10FFFF inclusively.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> OutputStream&gt;</div>
<div class="line">    <span class="keyword">static</span> <span class="keywordtype">void</span> Encode(OutputStream&amp; os, <span class="keywordtype">unsigned</span> codepoint);</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! \brief Decode a Unicode codepoint from an input stream.</span></div>
<div class="line"><span class="comment">    //! \param is Input stream.</span></div>
<div class="line"><span class="comment">    //! \param codepoint Output of the unicode codepoint.</span></div>
<div class="line"><span class="comment">    //! \return true if a valid codepoint can be decoded from the stream.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputStream&gt;</div>
<div class="line">    <span class="keyword">static</span> <span class="keywordtype">bool</span> Decode(InputStream&amp; is, <span class="keywordtype">unsigned</span>* codepoint);</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! \brief Validate one Unicode codepoint from an encoded stream.</span></div>
<div class="line"><span class="comment">    //! \param is Input stream to obtain codepoint.</span></div>
<div class="line"><span class="comment">    //! \param os Output for copying one codepoint.</span></div>
<div class="line"><span class="comment">    //! \return true if it is valid.</span></div>
<div class="line"><span class="comment">    //! \note This function just validating and copying the codepoint without actually decode it.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputStream, <span class="keyword">typename</span> OutputStream&gt;</div>
<div class="line">    <span class="keyword">static</span> <span class="keywordtype">bool</span> Validate(InputStream&amp; is, OutputStream&amp; os);</div>
<div class="line"></div>
<div class="line">    <span class="comment">// The following functions are deal with byte streams.</span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! Take a character from input byte stream, skip BOM if exist.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputByteStream&gt;</div>
<div class="line">    <span class="keyword">static</span> CharType TakeBOM(InputByteStream&amp; is);</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! Take a character from input byte stream.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> InputByteStream&gt;</div>
<div class="line">    <span class="keyword">static</span> Ch Take(InputByteStream&amp; is);</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! Put BOM to output byte stream.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputByteStream&gt;</div>
<div class="line">    <span class="keyword">static</span> <span class="keywordtype">void</span> PutBOM(OutputByteStream&amp; os);</div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">    //! Put a character to output byte stream.</span></div>
<div class="line"><span class="comment"></span>    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> OutputByteStream&gt;</div>
<div class="line">    <span class="keyword">static</span> <span class="keywordtype">void</span> Put(OutputByteStream&amp; os, Ch c);</div>
<div class="line">};</div>
</div><!-- fragment --> </div><hr/>该类的文档由以下文件生成:<ul>
<li>include/rapidjson/<a class="el" href="encodings_8h_source.html">encodings.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.7-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacerapidjson.html">rapidjson</a></li><li class="navelem"><a class="el" href="classrapidjson_1_1_encoding.html">Encoding</a></li>
  </ul>
</div>
</body>
</html>