Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 7cba18970317c34cece83965323b9dc1 > files > 670

rapidjson-1.1.0-2.mga7.armv7hl.rpm

<!-- 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.14"/>
<title>RapidJSON: rapidjson::GenericPointer&lt; ValueType, Allocator &gt; 模板类 参考</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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</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.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classrapidjson_1_1_generic_pointer.html','');});
/* @license-end */
</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)">
</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="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#pub-types">Public 类型</a> &#124;
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="classrapidjson_1_1_generic_pointer-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">rapidjson::GenericPointer&lt; ValueType, Allocator &gt; 模板类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents a JSON Pointer. Use Pointer for <a class="el" href="structrapidjson_1_1_u_t_f8.html" title="UTF-8 encoding. ">UTF8</a> encoding and default allocator.  
 <a href="classrapidjson_1_1_generic_pointer.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="pointer_8h_source.html">pointer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A token is the basic units of internal representation.  <a href="structrapidjson_1_1_generic_pointer_1_1_token.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public 类型</h2></td></tr>
<tr class="memitem:a399790c5fe8076d91a58c621c0c2a79e"><td class="memItemLeft" align="right" valign="top"><a id="a399790c5fe8076d91a58c621c0c2a79e"></a>
typedef ValueType::EncodingType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a></td></tr>
<tr class="memdesc:a399790c5fe8076d91a58c621c0c2a79e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classrapidjson_1_1_encoding.html" title="Concept for encoding of Unicode characters. ">Encoding</a> type from Value <br /></td></tr>
<tr class="separator:a399790c5fe8076d91a58c621c0c2a79e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a850f78846c5548565f8395be5f3427b7"><td class="memItemLeft" align="right" valign="top"><a id="a850f78846c5548565f8395be5f3427b7"></a>
typedef ValueType::Ch&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a></td></tr>
<tr class="memdesc:a850f78846c5548565f8395be5f3427b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Character type from Value <br /></td></tr>
<tr class="separator:a850f78846c5548565f8395be5f3427b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:acdac4ea8e57920194827be4afb942d97"><td class="memItemLeft" align="right" valign="top"><a id="acdac4ea8e57920194827be4afb942d97"></a>
<a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#acdac4ea8e57920194827be4afb942d97">GetAllocator</a> ()</td></tr>
<tr class="memdesc:acdac4ea8e57920194827be4afb942d97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the allocator of this pointer. <br /></td></tr>
<tr class="separator:acdac4ea8e57920194827be4afb942d97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a923a1100c029a28e25894708bdce784c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a923a1100c029a28e25894708bdce784c">Erase</a> (ValueType &amp;root) const</td></tr>
<tr class="memdesc:a923a1100c029a28e25894708bdce784c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase a value in a subtree.  <a href="#a923a1100c029a28e25894708bdce784c">更多...</a><br /></td></tr>
<tr class="separator:a923a1100c029a28e25894708bdce784c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructors and destructor.</div></td></tr>
<tr class="memitem:aa077ce171ea25cf501c12f2d5df7f248"><td class="memItemLeft" align="right" valign="top"><a id="aa077ce171ea25cf501c12f2d5df7f248"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aa077ce171ea25cf501c12f2d5df7f248">GenericPointer</a> (<a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr>
<tr class="memdesc:aa077ce171ea25cf501c12f2d5df7f248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:aa077ce171ea25cf501c12f2d5df7f248"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f831aae14afc493a82b5fb6aa9c3c43"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a8f831aae14afc493a82b5fb6aa9c3c43">GenericPointer</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *source, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr>
<tr class="memdesc:a8f831aae14afc493a82b5fb6aa9c3c43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that parses a string or URI fragment representation.  <a href="#a8f831aae14afc493a82b5fb6aa9c3c43">更多...</a><br /></td></tr>
<tr class="separator:a8f831aae14afc493a82b5fb6aa9c3c43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefcd60e5ad37d80ec43f5315ae84809"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aeefcd60e5ad37d80ec43f5315ae84809">GenericPointer</a> (const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;source, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr>
<tr class="memdesc:aeefcd60e5ad37d80ec43f5315ae84809"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that parses a string or URI fragment representation.  <a href="#aeefcd60e5ad37d80ec43f5315ae84809">更多...</a><br /></td></tr>
<tr class="separator:aeefcd60e5ad37d80ec43f5315ae84809"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00ad17ea227d2556404df7cc64c6aeb5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a00ad17ea227d2556404df7cc64c6aeb5">GenericPointer</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *source, size_t length, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr>
<tr class="memdesc:a00ad17ea227d2556404df7cc64c6aeb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that parses a string or URI fragment representation, with length of the source string.  <a href="#a00ad17ea227d2556404df7cc64c6aeb5">更多...</a><br /></td></tr>
<tr class="separator:a00ad17ea227d2556404df7cc64c6aeb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df9f6a01d1b5945811055e1cf8aead6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a6df9f6a01d1b5945811055e1cf8aead6">GenericPointer</a> (const <a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a> *tokens, size_t tokenCount)</td></tr>
<tr class="memdesc:a6df9f6a01d1b5945811055e1cf8aead6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with user-supplied tokens.  <a href="#a6df9f6a01d1b5945811055e1cf8aead6">更多...</a><br /></td></tr>
<tr class="separator:a6df9f6a01d1b5945811055e1cf8aead6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f8119f2c714f78794854828789b832e"><td class="memItemLeft" align="right" valign="top"><a id="a9f8119f2c714f78794854828789b832e"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a9f8119f2c714f78794854828789b832e">GenericPointer</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> &amp;rhs, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr>
<tr class="memdesc:a9f8119f2c714f78794854828789b832e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor. <br /></td></tr>
<tr class="separator:a9f8119f2c714f78794854828789b832e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e144b9956a5272c13ceff3b9306e748"><td class="memItemLeft" align="right" valign="top"><a id="a0e144b9956a5272c13ceff3b9306e748"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a0e144b9956a5272c13ceff3b9306e748">~GenericPointer</a> ()</td></tr>
<tr class="memdesc:a0e144b9956a5272c13ceff3b9306e748"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a0e144b9956a5272c13ceff3b9306e748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23194bb6ce6c07c78981344fe80ac3a6"><td class="memItemLeft" align="right" valign="top"><a id="a23194bb6ce6c07c78981344fe80ac3a6"></a>
<a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a23194bb6ce6c07c78981344fe80ac3a6">operator=</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> &amp;rhs)</td></tr>
<tr class="memdesc:a23194bb6ce6c07c78981344fe80ac3a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator. <br /></td></tr>
<tr class="separator:a23194bb6ce6c07c78981344fe80ac3a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Append token</div></td></tr>
<tr class="memitem:a7cb5eda2af1722e52efa591c4103ebec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a7cb5eda2af1722e52efa591c4103ebec">Append</a> (const <a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a> &amp;token, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a7cb5eda2af1722e52efa591c4103ebec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a token and return a new Pointer  <a href="#a7cb5eda2af1722e52efa591c4103ebec">更多...</a><br /></td></tr>
<tr class="separator:a7cb5eda2af1722e52efa591c4103ebec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30f4eac82e9fded60dead3f7d1cb3941"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a30f4eac82e9fded60dead3f7d1cb3941">Append</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *name, <a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a> length, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a30f4eac82e9fded60dead3f7d1cb3941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a name token with length, and return a new Pointer  <a href="#a30f4eac82e9fded60dead3f7d1cb3941">更多...</a><br /></td></tr>
<tr class="separator:a30f4eac82e9fded60dead3f7d1cb3941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a033a099aaa6b36df2d5171bdc593e98e"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a033a099aaa6b36df2d5171bdc593e98e"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a033a099aaa6b36df2d5171bdc593e98e">Append</a> (T *name, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a033a099aaa6b36df2d5171bdc593e98e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a name token without length, and return a new Pointer  <a href="#a033a099aaa6b36df2d5171bdc593e98e">更多...</a><br /></td></tr>
<tr class="separator:a033a099aaa6b36df2d5171bdc593e98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18494d59f0317c037fa3bd037e436cec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a18494d59f0317c037fa3bd037e436cec">Append</a> (const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;name, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a18494d59f0317c037fa3bd037e436cec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a name token, and return a new Pointer  <a href="#a18494d59f0317c037fa3bd037e436cec">更多...</a><br /></td></tr>
<tr class="separator:a18494d59f0317c037fa3bd037e436cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aadec8f0efe9a7ac42ac4906a5f676d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a4aadec8f0efe9a7ac42ac4906a5f676d">Append</a> (<a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a> index, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a4aadec8f0efe9a7ac42ac4906a5f676d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a index token, and return a new Pointer  <a href="#a4aadec8f0efe9a7ac42ac4906a5f676d">更多...</a><br /></td></tr>
<tr class="separator:a4aadec8f0efe9a7ac42ac4906a5f676d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a618808f066fb1104d36f012cced3b27a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a618808f066fb1104d36f012cced3b27a">Append</a> (const ValueType &amp;token, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0) const</td></tr>
<tr class="memdesc:a618808f066fb1104d36f012cced3b27a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a token by value, and return a new Pointer  <a href="#a618808f066fb1104d36f012cced3b27a">更多...</a><br /></td></tr>
<tr class="separator:a618808f066fb1104d36f012cced3b27a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Handling Parse Error</div></td></tr>
<tr class="memitem:a98b96d54c2c3378f1892ffffc501069c"><td class="memItemLeft" align="right" valign="top"><a id="a98b96d54c2c3378f1892ffffc501069c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a98b96d54c2c3378f1892ffffc501069c">IsValid</a> () const</td></tr>
<tr class="memdesc:a98b96d54c2c3378f1892ffffc501069c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check whether this is a valid pointer. <br /></td></tr>
<tr class="separator:a98b96d54c2c3378f1892ffffc501069c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75caef2a047c56466f0b599bdda882c9"><td class="memItemLeft" align="right" valign="top"><a id="a75caef2a047c56466f0b599bdda882c9"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a75caef2a047c56466f0b599bdda882c9">GetParseErrorOffset</a> () const</td></tr>
<tr class="memdesc:a75caef2a047c56466f0b599bdda882c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the parsing error offset in code unit. <br /></td></tr>
<tr class="separator:a75caef2a047c56466f0b599bdda882c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af649a48d77aa856cddaa748ad6b0d6ac"><td class="memItemLeft" align="right" valign="top"><a id="af649a48d77aa856cddaa748ad6b0d6ac"></a>
<a class="el" href="group___r_a_p_i_d_j_s_o_n___e_r_r_o_r_s.html#gade540ee4cc2a416c23b8ee2c12393c7b">PointerParseErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#af649a48d77aa856cddaa748ad6b0d6ac">GetParseErrorCode</a> () const</td></tr>
<tr class="memdesc:af649a48d77aa856cddaa748ad6b0d6ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the parsing error code. <br /></td></tr>
<tr class="separator:af649a48d77aa856cddaa748ad6b0d6ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Tokens</div></td></tr>
<tr class="memitem:ac07c300d43f04dad9caa0cb209cb2853"><td class="memItemLeft" align="right" valign="top"><a id="ac07c300d43f04dad9caa0cb209cb2853"></a>
const <a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ac07c300d43f04dad9caa0cb209cb2853">GetTokens</a> () const</td></tr>
<tr class="memdesc:ac07c300d43f04dad9caa0cb209cb2853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the token array (const version only). <br /></td></tr>
<tr class="separator:ac07c300d43f04dad9caa0cb209cb2853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a791e40c10682b9db0adf2b6e0b8b3d78"><td class="memItemLeft" align="right" valign="top"><a id="a791e40c10682b9db0adf2b6e0b8b3d78"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a791e40c10682b9db0adf2b6e0b8b3d78">GetTokenCount</a> () const</td></tr>
<tr class="memdesc:a791e40c10682b9db0adf2b6e0b8b3d78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of tokens. <br /></td></tr>
<tr class="separator:a791e40c10682b9db0adf2b6e0b8b3d78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Equality/inequality operators</div></td></tr>
<tr class="memitem:a3bb15fa5592f2bfad6f2c9af7940b952"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a3bb15fa5592f2bfad6f2c9af7940b952">operator==</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> &amp;rhs) const</td></tr>
<tr class="memdesc:a3bb15fa5592f2bfad6f2c9af7940b952"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality operator.  <a href="#a3bb15fa5592f2bfad6f2c9af7940b952">更多...</a><br /></td></tr>
<tr class="separator:a3bb15fa5592f2bfad6f2c9af7940b952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca73989b4f3ffa5154a229f95f1e0c9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a8ca73989b4f3ffa5154a229f95f1e0c9">operator!=</a> (const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> &amp;rhs) const</td></tr>
<tr class="memdesc:a8ca73989b4f3ffa5154a229f95f1e0c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inequality operator.  <a href="#a8ca73989b4f3ffa5154a229f95f1e0c9">更多...</a><br /></td></tr>
<tr class="separator:a8ca73989b4f3ffa5154a229f95f1e0c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Stringify</div></td></tr>
<tr class="memitem:a73073ca3c9e47eba7c27c16151b269ac"><td class="memTemplParams" colspan="2">template&lt;typename OutputStream &gt; </td></tr>
<tr class="memitem:a73073ca3c9e47eba7c27c16151b269ac"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a73073ca3c9e47eba7c27c16151b269ac">Stringify</a> (OutputStream &amp;os) const</td></tr>
<tr class="memdesc:a73073ca3c9e47eba7c27c16151b269ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stringify the pointer into string representation.  <a href="#a73073ca3c9e47eba7c27c16151b269ac">更多...</a><br /></td></tr>
<tr class="separator:a73073ca3c9e47eba7c27c16151b269ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae985c27c1d061b93ba4f8875cfa5f7b5"><td class="memTemplParams" colspan="2">template&lt;typename OutputStream &gt; </td></tr>
<tr class="memitem:ae985c27c1d061b93ba4f8875cfa5f7b5"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ae985c27c1d061b93ba4f8875cfa5f7b5">StringifyUriFragment</a> (OutputStream &amp;os) const</td></tr>
<tr class="memdesc:ae985c27c1d061b93ba4f8875cfa5f7b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stringify the pointer into URI fragment representation.  <a href="#ae985c27c1d061b93ba4f8875cfa5f7b5">更多...</a><br /></td></tr>
<tr class="separator:ae985c27c1d061b93ba4f8875cfa5f7b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Create value</div></td></tr>
<tr class="memitem:ad0b5b67c57572e81689762094ac8c856"><td class="memItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad0b5b67c57572e81689762094ac8c856">Create</a> (ValueType &amp;root, typename ValueType::AllocatorType &amp;allocator, bool *alreadyExist=0) const</td></tr>
<tr class="memdesc:ad0b5b67c57572e81689762094ac8c856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a value in a subtree.  <a href="#ad0b5b67c57572e81689762094ac8c856">更多...</a><br /></td></tr>
<tr class="separator:ad0b5b67c57572e81689762094ac8c856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc4bf5a3892f5626a8517f90c88e4b7f"><td class="memTemplParams" colspan="2">template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:adc4bf5a3892f5626a8517f90c88e4b7f"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#adc4bf5a3892f5626a8517f90c88e4b7f">Create</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, bool *alreadyExist=0) const</td></tr>
<tr class="memdesc:adc4bf5a3892f5626a8517f90c88e4b7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a value in a document.  <a href="#adc4bf5a3892f5626a8517f90c88e4b7f">更多...</a><br /></td></tr>
<tr class="separator:adc4bf5a3892f5626a8517f90c88e4b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Query value</div></td></tr>
<tr class="memitem:af09e26073a7263fc9e8f0c14160f45bd"><td class="memItemLeft" align="right" valign="top">ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#af09e26073a7263fc9e8f0c14160f45bd">Get</a> (ValueType &amp;root, size_t *unresolvedTokenIndex=0) const</td></tr>
<tr class="memdesc:af09e26073a7263fc9e8f0c14160f45bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a subtree.  <a href="#af09e26073a7263fc9e8f0c14160f45bd">更多...</a><br /></td></tr>
<tr class="separator:af09e26073a7263fc9e8f0c14160f45bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac2171a0ac38298b2d0ae063351ec176"><td class="memItemLeft" align="right" valign="top">const ValueType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aac2171a0ac38298b2d0ae063351ec176">Get</a> (const ValueType &amp;root, size_t *unresolvedTokenIndex=0) const</td></tr>
<tr class="memdesc:aac2171a0ac38298b2d0ae063351ec176"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a const value in a const subtree.  <a href="#aac2171a0ac38298b2d0ae063351ec176">更多...</a><br /></td></tr>
<tr class="separator:aac2171a0ac38298b2d0ae063351ec176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Query a value with default</div></td></tr>
<tr class="memitem:acd36d0bbfcca43feaeeba5488d8384c2"><td class="memItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#acd36d0bbfcca43feaeeba5488d8384c2">GetWithDefault</a> (ValueType &amp;root, const ValueType &amp;defaultValue, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:acd36d0bbfcca43feaeeba5488d8384c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a subtree with default value.  <a href="#acd36d0bbfcca43feaeeba5488d8384c2">更多...</a><br /></td></tr>
<tr class="separator:acd36d0bbfcca43feaeeba5488d8384c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdc025b8391b271f1134a7ba7039c27f"><td class="memItemLeft" align="right" valign="top"><a id="abdc025b8391b271f1134a7ba7039c27f"></a>
ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#abdc025b8391b271f1134a7ba7039c27f">GetWithDefault</a> (ValueType &amp;root, const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *defaultValue, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:abdc025b8391b271f1134a7ba7039c27f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a subtree with default null-terminated string. <br /></td></tr>
<tr class="separator:abdc025b8391b271f1134a7ba7039c27f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ac51ee7af5b9d7628140ae8501edcf4"><td class="memItemLeft" align="right" valign="top"><a id="a2ac51ee7af5b9d7628140ae8501edcf4"></a>
ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a2ac51ee7af5b9d7628140ae8501edcf4">GetWithDefault</a> (ValueType &amp;root, const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;defaultValue, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a2ac51ee7af5b9d7628140ae8501edcf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a subtree with default std::basic_string. <br /></td></tr>
<tr class="separator:a2ac51ee7af5b9d7628140ae8501edcf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16833ef8a38386e6c310d602426b45f0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a16833ef8a38386e6c310d602426b45f0"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a16833ef8a38386e6c310d602426b45f0">GetWithDefault</a> (ValueType &amp;root, T defaultValue, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a16833ef8a38386e6c310d602426b45f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a subtree with default primitive value.  <a href="#a16833ef8a38386e6c310d602426b45f0">更多...</a><br /></td></tr>
<tr class="separator:a16833ef8a38386e6c310d602426b45f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07fa31c03c96e260f234087882dce408"><td class="memTemplParams" colspan="2"><a id="a07fa31c03c96e260f234087882dce408"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:a07fa31c03c96e260f234087882dce408"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a07fa31c03c96e260f234087882dce408">GetWithDefault</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const ValueType &amp;defaultValue) const</td></tr>
<tr class="memdesc:a07fa31c03c96e260f234087882dce408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a document with default value. <br /></td></tr>
<tr class="separator:a07fa31c03c96e260f234087882dce408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa4e92344cc07e98adb5b9f5b93927b8"><td class="memTemplParams" colspan="2"><a id="aaa4e92344cc07e98adb5b9f5b93927b8"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:aaa4e92344cc07e98adb5b9f5b93927b8"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aaa4e92344cc07e98adb5b9f5b93927b8">GetWithDefault</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *defaultValue) const</td></tr>
<tr class="memdesc:aaa4e92344cc07e98adb5b9f5b93927b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a document with default null-terminated string. <br /></td></tr>
<tr class="separator:aaa4e92344cc07e98adb5b9f5b93927b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19e2313004885cfa9c45f50b30b32e2"><td class="memTemplParams" colspan="2"><a id="af19e2313004885cfa9c45f50b30b32e2"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:af19e2313004885cfa9c45f50b30b32e2"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#af19e2313004885cfa9c45f50b30b32e2">GetWithDefault</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;defaultValue) const</td></tr>
<tr class="memdesc:af19e2313004885cfa9c45f50b30b32e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a document with default std::basic_string. <br /></td></tr>
<tr class="separator:af19e2313004885cfa9c45f50b30b32e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f428c25a3a905683e616d76c2d9efcf"><td class="memTemplParams" colspan="2">template&lt;typename T , typename stackAllocator &gt; </td></tr>
<tr class="memitem:a1f428c25a3a905683e616d76c2d9efcf"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a1f428c25a3a905683e616d76c2d9efcf">GetWithDefault</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, T defaultValue) const</td></tr>
<tr class="memdesc:a1f428c25a3a905683e616d76c2d9efcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query a value in a document with default primitive value.  <a href="#a1f428c25a3a905683e616d76c2d9efcf">更多...</a><br /></td></tr>
<tr class="separator:a1f428c25a3a905683e616d76c2d9efcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Set a value</div></td></tr>
<tr class="memitem:a0759b70ec70a6eb7a7545a34764ac663"><td class="memItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a0759b70ec70a6eb7a7545a34764ac663">Set</a> (ValueType &amp;root, ValueType &amp;value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a0759b70ec70a6eb7a7545a34764ac663"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a value in a subtree, with move semantics.  <a href="#a0759b70ec70a6eb7a7545a34764ac663">更多...</a><br /></td></tr>
<tr class="separator:a0759b70ec70a6eb7a7545a34764ac663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2f51d68c82136086bed9593719abd1a"><td class="memItemLeft" align="right" valign="top"><a id="af2f51d68c82136086bed9593719abd1a"></a>
ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#af2f51d68c82136086bed9593719abd1a">Set</a> (ValueType &amp;root, const ValueType &amp;value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:af2f51d68c82136086bed9593719abd1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a value in a subtree, with copy semantics. <br /></td></tr>
<tr class="separator:af2f51d68c82136086bed9593719abd1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0ef2b49a9561d570217249343d9335"><td class="memItemLeft" align="right" valign="top"><a id="a4f0ef2b49a9561d570217249343d9335"></a>
ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a4f0ef2b49a9561d570217249343d9335">Set</a> (ValueType &amp;root, const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a4f0ef2b49a9561d570217249343d9335"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a null-terminated string in a subtree. <br /></td></tr>
<tr class="separator:a4f0ef2b49a9561d570217249343d9335"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae84f686e1af593b9445c2c502101b2"><td class="memItemLeft" align="right" valign="top"><a id="a0ae84f686e1af593b9445c2c502101b2"></a>
ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a0ae84f686e1af593b9445c2c502101b2">Set</a> (ValueType &amp;root, const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a0ae84f686e1af593b9445c2c502101b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a std::basic_string in a subtree. <br /></td></tr>
<tr class="separator:a0ae84f686e1af593b9445c2c502101b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6df2ca27eecabbbad825a64a3d2bfe9"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa6df2ca27eecabbbad825a64a3d2bfe9"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aa6df2ca27eecabbbad825a64a3d2bfe9">Set</a> (ValueType &amp;root, T value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:aa6df2ca27eecabbbad825a64a3d2bfe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a primitive value in a subtree.  <a href="#aa6df2ca27eecabbbad825a64a3d2bfe9">更多...</a><br /></td></tr>
<tr class="separator:aa6df2ca27eecabbbad825a64a3d2bfe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9371832d9089cca9b7f549172fd75cc8"><td class="memTemplParams" colspan="2"><a id="a9371832d9089cca9b7f549172fd75cc8"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:a9371832d9089cca9b7f549172fd75cc8"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a9371832d9089cca9b7f549172fd75cc8">Set</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, ValueType &amp;value) const</td></tr>
<tr class="memdesc:a9371832d9089cca9b7f549172fd75cc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a value in a document, with move semantics. <br /></td></tr>
<tr class="separator:a9371832d9089cca9b7f549172fd75cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7a692d4e08d578f7e24afb7c4004276"><td class="memTemplParams" colspan="2"><a id="ad7a692d4e08d578f7e24afb7c4004276"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:ad7a692d4e08d578f7e24afb7c4004276"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad7a692d4e08d578f7e24afb7c4004276">Set</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const ValueType &amp;value) const</td></tr>
<tr class="memdesc:ad7a692d4e08d578f7e24afb7c4004276"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a value in a document, with copy semantics. <br /></td></tr>
<tr class="separator:ad7a692d4e08d578f7e24afb7c4004276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb649edbdbe09a6840b12d67c9f2501e"><td class="memTemplParams" colspan="2"><a id="afb649edbdbe09a6840b12d67c9f2501e"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:afb649edbdbe09a6840b12d67c9f2501e"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#afb649edbdbe09a6840b12d67c9f2501e">Set</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *value) const</td></tr>
<tr class="memdesc:afb649edbdbe09a6840b12d67c9f2501e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a null-terminated string in a document. <br /></td></tr>
<tr class="separator:afb649edbdbe09a6840b12d67c9f2501e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7ff4e0b700c2975cf455fef23226b4"><td class="memTemplParams" colspan="2"><a id="a3a7ff4e0b700c2975cf455fef23226b4"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:a3a7ff4e0b700c2975cf455fef23226b4"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a3a7ff4e0b700c2975cf455fef23226b4">Set</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;value) const</td></tr>
<tr class="memdesc:a3a7ff4e0b700c2975cf455fef23226b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a std::basic_string in a document. <br /></td></tr>
<tr class="separator:a3a7ff4e0b700c2975cf455fef23226b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5ed62ba30bb3f7a09a826746f70574"><td class="memTemplParams" colspan="2">template&lt;typename T , typename stackAllocator &gt; </td></tr>
<tr class="memitem:a8e5ed62ba30bb3f7a09a826746f70574"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a8e5ed62ba30bb3f7a09a826746f70574">Set</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, T value) const</td></tr>
<tr class="memdesc:a8e5ed62ba30bb3f7a09a826746f70574"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a primitive value in a document.  <a href="#a8e5ed62ba30bb3f7a09a826746f70574">更多...</a><br /></td></tr>
<tr class="separator:a8e5ed62ba30bb3f7a09a826746f70574"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Swap a value</div></td></tr>
<tr class="memitem:a4690cd1d6c85168ebd2ce0afe186a4fa"><td class="memItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a4690cd1d6c85168ebd2ce0afe186a4fa">Swap</a> (ValueType &amp;root, ValueType &amp;value, typename ValueType::AllocatorType &amp;allocator) const</td></tr>
<tr class="memdesc:a4690cd1d6c85168ebd2ce0afe186a4fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap a value with a value in a subtree.  <a href="#a4690cd1d6c85168ebd2ce0afe186a4fa">更多...</a><br /></td></tr>
<tr class="separator:a4690cd1d6c85168ebd2ce0afe186a4fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29d7ee42eb5646f829aeca6c6989555a"><td class="memTemplParams" colspan="2"><a id="a29d7ee42eb5646f829aeca6c6989555a"></a>
template&lt;typename stackAllocator &gt; </td></tr>
<tr class="memitem:a29d7ee42eb5646f829aeca6c6989555a"><td class="memTemplItemLeft" align="right" valign="top">ValueType &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a29d7ee42eb5646f829aeca6c6989555a">Swap</a> (<a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;document, ValueType &amp;value) const</td></tr>
<tr class="memdesc:a29d7ee42eb5646f829aeca6c6989555a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap a value with a value in a document. <br /></td></tr>
<tr class="separator:a29d7ee42eb5646f829aeca6c6989555a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><h3>template&lt;typename ValueType, typename Allocator = CrtAllocator&gt;<br />
class rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</h3>

<p>Represents a JSON Pointer. Use Pointer for <a class="el" href="structrapidjson_1_1_u_t_f8.html" title="UTF-8 encoding. ">UTF8</a> encoding and default allocator. </p>
<p>This class implements RFC 6901 "JavaScript Object Notation (JSON) Pointer" (<a href="https://tools.ietf.org/html/rfc6901">https://tools.ietf.org/html/rfc6901</a>).</p>
<p>A JSON pointer is for identifying a specific value in a JSON document (<a class="el" href="classrapidjson_1_1_generic_document.html" title="A document for parsing JSON text as DOM. ">GenericDocument</a>). It can simplify coding of DOM tree manipulation, because it can access multiple-level depth of DOM tree with single API call.</p>
<p>After it parses a string representation (e.g. "/foo/0" or URI fragment representation (e.g. "#/foo/0") into its internal representation (tokens), it can be used to resolve a specific value in multiple documents, or sub-tree of documents.</p>
<p>Contrary to <a class="el" href="classrapidjson_1_1_generic_value.html" title="Represents a JSON value. Use Value for UTF8 encoding and default allocator. ">GenericValue</a>, Pointer can be copy constructed and copy assigned. Apart from assignment, a Pointer cannot be modified after construction.</p>
<p>Although Pointer is very convenient, please aware that constructing Pointer involves parsing and dynamic memory allocation. A special constructor with user- supplied tokens eliminates these.</p>
<p><a class="el" href="classrapidjson_1_1_generic_pointer.html" title="Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. ">GenericPointer</a> depends on <a class="el" href="classrapidjson_1_1_generic_document.html" title="A document for parsing JSON text as DOM. ">GenericDocument</a> and <a class="el" href="classrapidjson_1_1_generic_value.html" title="Represents a JSON value. Use Value for UTF8 encoding and default allocator. ">GenericValue</a>.</p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">ValueType</td><td>The value type of the DOM tree. E.g. <a class="el" href="classrapidjson_1_1_generic_value.html" title="Represents a JSON value. Use Value for UTF8 encoding and default allocator. ">GenericValue</a>&lt;UTF8&lt;&gt; &gt; </td></tr>
    <tr><td class="paramname"><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a></td><td>The allocator type for allocating memory for internal representation.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd><a class="el" href="classrapidjson_1_1_generic_pointer.html" title="Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. ">GenericPointer</a> uses same encoding of ValueType. However, <a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> of <a class="el" href="classrapidjson_1_1_generic_pointer.html" title="Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. ">GenericPointer</a> is independent of <a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> of Value. </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a8f831aae14afc493a82b5fb6aa9c3c43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f831aae14afc493a82b5fb6aa9c3c43">&#9670;&nbsp;</a></span>GenericPointer() <span class="overload">[1/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::<a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor that parses a string or URI fragment representation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td>A null-terminated, string or URI fragment representation of JSON pointer. </td></tr>
    <tr><td class="paramname">allocator</td><td>User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aeefcd60e5ad37d80ec43f5315ae84809"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeefcd60e5ad37d80ec43f5315ae84809">&#9670;&nbsp;</a></span>GenericPointer() <span class="overload">[2/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::<a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> </td>
          <td>(</td>
          <td class="paramtype">const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor that parses a string or URI fragment representation. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td>A string or URI fragment representation of JSON pointer. </td></tr>
    <tr><td class="paramname">allocator</td><td>User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>Requires the definition of the preprocessor symbol <a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga2f2eef0ee4477f3fe5874703a66e997f">RAPIDJSON_HAS_STDSTRING</a>. </dd></dl>

</div>
</div>
<a id="a00ad17ea227d2556404df7cc64c6aeb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00ad17ea227d2556404df7cc64c6aeb5">&#9670;&nbsp;</a></span>GenericPointer() <span class="overload">[3/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::<a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor that parses a string or URI fragment representation, with length of the source string. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td>A string or URI fragment representation of JSON pointer. </td></tr>
    <tr><td class="paramname">length</td><td>Length of source. </td></tr>
    <tr><td class="paramname">allocator</td><td>User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>Slightly faster than the overload without length. </dd></dl>

</div>
</div>
<a id="a6df9f6a01d1b5945811055e1cf8aead6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6df9f6a01d1b5945811055e1cf8aead6">&#9670;&nbsp;</a></span>GenericPointer() <span class="overload">[4/4]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::<a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a> *&#160;</td>
          <td class="paramname"><em>tokens</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tokenCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor with user-supplied tokens. </p>
<p>This constructor let user supplies const array of tokens. This prevents the parsing process and eliminates allocation. This is preferred for memory constrained environments.</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">tokens</td><td>An constant array of tokens representing the JSON pointer. </td></tr>
    <tr><td class="paramname">tokenCount</td><td>Number of tokens.</td></tr>
  </table>
  </dd>
</dl>
<p><b>Example</b> </p><div class="fragment"><div class="line"><span class="preprocessor">#define NAME(s) { s, sizeof(s) / sizeof(s[0]) - 1, kPointerInvalidIndex }</span></div><div class="line"><span class="preprocessor">#define INDEX(i) { #i, sizeof(#i) - 1, i }</span></div><div class="line"></div><div class="line"><span class="keyword">static</span> <span class="keyword">const</span> Pointer::Token kTokens[] = { NAME(<span class="stringliteral">&quot;foo&quot;</span>), INDEX(123) };</div><div class="line"><span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespacerapidjson.html#a080910f74d2f5046e6724280159cf374">Pointer</a> p(kTokens, <span class="keyword">sizeof</span>(kTokens) / <span class="keyword">sizeof</span>(kTokens[0]));</div><div class="line"><span class="comment">// Equivalent to static const Pointer p(&quot;/foo/123&quot;);</span></div><div class="line"></div><div class="line"><span class="preprocessor">#undef NAME</span></div><div class="line"><span class="preprocessor">#undef INDEX</span></div></div><!-- fragment --> 
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a7cb5eda2af1722e52efa591c4103ebec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cb5eda2af1722e52efa591c4103ebec">&#9670;&nbsp;</a></span>Append() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html">Token</a> &amp;&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a token and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">token</td><td><a class="el" href="structrapidjson_1_1_generic_pointer_1_1_token.html" title="A token is the basic units of internal representation. ">Token</a> to be appended. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="a30f4eac82e9fded60dead3f7d1cb3941"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30f4eac82e9fded60dead3f7d1cb3941">&#9670;&nbsp;</a></span>Append() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a>&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a name token with length, and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name to be appended. </td></tr>
    <tr><td class="paramname">length</td><td>Length of name. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="a033a099aaa6b36df2d5171bdc593e98e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a033a099aaa6b36df2d5171bdc593e98e">&#9670;&nbsp;</a></span>Append() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">T *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a name token without length, and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name (const Ch*) to be appended. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="a18494d59f0317c037fa3bd037e436cec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18494d59f0317c037fa3bd037e436cec">&#9670;&nbsp;</a></span>Append() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">const std::basic_string&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a name token, and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name to be appended. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="a4aadec8f0efe9a7ac42ac4906a5f676d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4aadec8f0efe9a7ac42ac4906a5f676d">&#9670;&nbsp;</a></span>Append() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a>&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a index token, and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>Index to be appended. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="a618808f066fb1104d36f012cced3b27a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a618808f066fb1104d36f012cced3b27a">&#9670;&nbsp;</a></span>Append() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a> <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Append </td>
          <td>(</td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>token</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *&#160;</td>
          <td class="paramname"><em>allocator</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Append a token by value, and return a new Pointer </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">token</td><td>token to be appended. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for the newly return Pointer. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>A new Pointer with appended token. </dd></dl>

</div>
</div>
<a id="ad0b5b67c57572e81689762094ac8c856"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0b5b67c57572e81689762094ac8c856">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Create </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>alreadyExist</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Create a value in a subtree. </p>
<p>If the value is not exist, it creates all parent values and a JSON Null value. So it always succeed and return the newly created or existing value.</p>
<p>Remind that it may change types of parents according to tokens, so it potentially removes previously stored values. For example, if a document was an array, and "/foo" is used to create a value, then the document will be changed to an object, and all existing array elements are lost.</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM subtree to be resolved. It can be any value other than document root. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for creating the values if the specified value or its parents are not exist. </td></tr>
    <tr><td class="paramname">alreadyExist</td><td>If non-null, it stores whether the resolved value is already exist. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>The resolved newly created (a JSON Null value), or already exists value. </dd></dl>

</div>
</div>
<a id="adc4bf5a3892f5626a8517f90c88e4b7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc4bf5a3892f5626a8517f90c88e4b7f">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename stackAllocator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Create </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;&#160;</td>
          <td class="paramname"><em>document</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>alreadyExist</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Creates a value in a document. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">document</td><td>A document to be resolved. </td></tr>
    <tr><td class="paramname">alreadyExist</td><td>If non-null, it stores whether the resolved value is already exist. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>The resolved newly created, or already exists value. </dd></dl>

</div>
</div>
<a id="a923a1100c029a28e25894708bdce784c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a923a1100c029a28e25894708bdce784c">&#9670;&nbsp;</a></span>Erase()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Erase </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em></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>Erase a value in a subtree. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>Whether the resolved value is found and erased.</dd></dl>
<dl class="section note"><dt>注解</dt><dd>Erasing with an empty pointer <code>Pointer</code>(""), i.e. the root, always fail and return false. </dd></dl>

</div>
</div>
<a id="af09e26073a7263fc9e8f0c14160f45bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af09e26073a7263fc9e8f0c14160f45bd">&#9670;&nbsp;</a></span>Get() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType* <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Get </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>unresolvedTokenIndex</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Query a value in a subtree. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
    <tr><td class="paramname">unresolvedTokenIndex</td><td>If the pointer cannot resolve a token in the pointer, this parameter can obtain the index of unresolved token. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>Pointer to the value if it can be resolved. Otherwise null.</dd></dl>
<dl class="section note"><dt>注解</dt><dd>There are only 3 situations when a value cannot be resolved:<ol type="1">
<li>A value in the path is not an array nor object.</li>
<li>An object value does not contain the token.</li>
<li>A token is out of range of an array value.</li>
</ol>
</dd></dl>
<p>Use unresolvedTokenIndex to retrieve the token index. </p>

</div>
</div>
<a id="aac2171a0ac38298b2d0ae063351ec176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac2171a0ac38298b2d0ae063351ec176">&#9670;&nbsp;</a></span>Get() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const ValueType* <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Get </td>
          <td>(</td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>unresolvedTokenIndex</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Query a const value in a const subtree. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>Pointer to the value if it can be resolved. Otherwise null. </dd></dl>

</div>
</div>
<a id="acd36d0bbfcca43feaeeba5488d8384c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd36d0bbfcca43feaeeba5488d8384c2">&#9670;&nbsp;</a></span>GetWithDefault() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::GetWithDefault </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const ValueType &amp;&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Query a value in a subtree with default value. </p>
<p>Similar to <a class="el" href="classrapidjson_1_1_generic_pointer.html#af09e26073a7263fc9e8f0c14160f45bd" title="Query a value in a subtree. ">Get()</a>, but if the specified value do not exists, it creates all parents and clone the default value. So that this function always succeed.</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
    <tr><td class="paramname">defaultValue</td><td>Default value to be cloned if the value was not exists. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for creating the values if the specified value or its parents are not exist. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad0b5b67c57572e81689762094ac8c856" title="Create a value in a subtree. ">Create()</a> </dd></dl>

</div>
</div>
<a id="a16833ef8a38386e6c310d602426b45f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16833ef8a38386e6c310d602426b45f0">&#9670;&nbsp;</a></span>GetWithDefault() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::GetWithDefault </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>defaultValue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Query a value in a subtree with default primitive value. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Either <a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">Type</a>, <code>int</code>, <code>unsigned</code>, <code>int64_t</code>, <code>uint64_t</code>, <code>bool</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a1f428c25a3a905683e616d76c2d9efcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f428c25a3a905683e616d76c2d9efcf">&#9670;&nbsp;</a></span>GetWithDefault() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename T , typename stackAllocator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::GetWithDefault </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;&#160;</td>
          <td class="paramname"><em>document</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>defaultValue</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Query a value in a document with default primitive value. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Either <a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">Type</a>, <code>int</code>, <code>unsigned</code>, <code>int64_t</code>, <code>uint64_t</code>, <code>bool</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8ca73989b4f3ffa5154a229f95f1e0c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ca73989b4f3ffa5154a229f95f1e0c9">&#9670;&nbsp;</a></span>operator!=()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></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>Inequality operator. </p>
<dl class="section note"><dt>注解</dt><dd>When any pointers are invalid, always returns true. </dd></dl>

</div>
</div>
<a id="a3bb15fa5592f2bfad6f2c9af7940b952"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bb15fa5592f2bfad6f2c9af7940b952">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></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>Equality operator. </p>
<dl class="section note"><dt>注解</dt><dd>When any pointers are invalid, always returns false. </dd></dl>

</div>
</div>
<a id="a0759b70ec70a6eb7a7545a34764ac663"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0759b70ec70a6eb7a7545a34764ac663">&#9670;&nbsp;</a></span>Set() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Set </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Set a value in a subtree, with move semantics. </p>
<p>It creates all parents if they are not exist or types are different to the tokens. So this function always succeeds but potentially remove existing values.</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
    <tr><td class="paramname">value</td><td>Value to be set. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for creating the values if the specified value or its parents are not exist. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad0b5b67c57572e81689762094ac8c856" title="Create a value in a subtree. ">Create()</a> </dd></dl>

</div>
</div>
<a id="aa6df2ca27eecabbbad825a64a3d2bfe9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6df2ca27eecabbbad825a64a3d2bfe9">&#9670;&nbsp;</a></span>Set() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Set </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Set a primitive value in a subtree. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Either <a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">Type</a>, <code>int</code>, <code>unsigned</code>, <code>int64_t</code>, <code>uint64_t</code>, <code>bool</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8e5ed62ba30bb3f7a09a826746f70574"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e5ed62ba30bb3f7a09a826746f70574">&#9670;&nbsp;</a></span>Set() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename T , typename stackAllocator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrapidjson_1_1_generic_document.html">GenericDocument</a>&lt; <a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a>, typename ValueType::AllocatorType, stackAllocator &gt; &amp;&#160;</td>
          <td class="paramname"><em>document</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Set a primitive value in a document. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">T</td><td>Either <a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">Type</a>, <code>int</code>, <code>unsigned</code>, <code>int64_t</code>, <code>uint64_t</code>, <code>bool</code> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a73073ca3c9e47eba7c27c16151b269ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73073ca3c9e47eba7c27c16151b269ac">&#9670;&nbsp;</a></span>Stringify()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename OutputStream &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Stringify </td>
          <td>(</td>
          <td class="paramtype">OutputStream &amp;&#160;</td>
          <td class="paramname"><em>os</em></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>Stringify the pointer into string representation. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">OutputStream</td><td>Type of output stream. </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>The output stream. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae985c27c1d061b93ba4f8875cfa5f7b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae985c27c1d061b93ba4f8875cfa5f7b5">&#9670;&nbsp;</a></span>StringifyUriFragment()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<div class="memtemplate">
template&lt;typename OutputStream &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::StringifyUriFragment </td>
          <td>(</td>
          <td class="paramtype">OutputStream &amp;&#160;</td>
          <td class="paramname"><em>os</em></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>Stringify the pointer into URI fragment representation. </p>
<dl class="tparams"><dt>模板参数</dt><dd>
  <table class="tparams">
    <tr><td class="paramname">OutputStream</td><td>Type of output stream. </td></tr>
  </table>
  </dd>
</dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">os</td><td>The output stream. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4690cd1d6c85168ebd2ce0afe186a4fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4690cd1d6c85168ebd2ce0afe186a4fa">&#9670;&nbsp;</a></span>Swap()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ValueType , typename Allocator  = CrtAllocator&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ValueType&amp; <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer</a>&lt; ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> &gt;::Swap </td>
          <td>(</td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ValueType &amp;&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">typename ValueType::AllocatorType &amp;&#160;</td>
          <td class="paramname"><em>allocator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</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>Swap a value with a value in a subtree. </p>
<p>It creates all parents if they are not exist or types are different to the tokens. So this function always succeeds but potentially remove existing values.</p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>Root value of a DOM sub-tree to be resolved. It can be any value other than document root. </td></tr>
    <tr><td class="paramname">value</td><td>Value to be swapped. </td></tr>
    <tr><td class="paramname">allocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> for creating the values if the specified value or its parents are not exist. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad0b5b67c57572e81689762094ac8c856" title="Create a value in a subtree. ">Create()</a> </dd></dl>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>include/rapidjson/<a class="el" href="fwd_8h_source.html">fwd.h</a></li>
<li>include/rapidjson/<a class="el" href="pointer_8h_source.html">pointer.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_generic_pointer.html">GenericPointer</a></li>
  </ul>
</div>
</body>
</html>