<!-- 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.16"/>
<title>RapidJSON: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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/Tencent/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="Search" 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 -->
<!-- Generated by Doxygen 1.8.16 -->
<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,'Search');
/* @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="headertitle">
<div class="title">rapidjson::GenericPointer&lt; ValueType, Allocator &gt; Member List</div>  </div>
</div><!--header-->
<div class="contents">

<p>This is the complete list of members for <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a>, including all inherited members.</p>
<table class="directory">
  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>allocator</b> (defined in <a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a>)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a303e16e7d6c391a2afe8669744f79897">allocator_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a7cb5eda2af1722e52efa591c4103ebec">Append</a>(const Token &amp;token, Allocator *allocator=0) const</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a30f4eac82e9fded60dead3f7d1cb3941">Append</a>(const Ch *name, SizeType length, Allocator *allocator=0) const</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a850f78846c5548565f8395be5f3427b7">Ch</a> typedef</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a399790c5fe8076d91a58c621c0c2a79e">EncodingType</a> typedef</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aa077ce171ea25cf501c12f2d5df7f248">GenericPointer</a>(Allocator *allocator=0)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a8f831aae14afc493a82b5fb6aa9c3c43">GenericPointer</a>(const Ch *source, Allocator *allocator=0)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aeefcd60e5ad37d80ec43f5315ae84809">GenericPointer</a>(const std::basic_string&lt; Ch &gt; &amp;source, Allocator *allocator=0)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a00ad17ea227d2556404df7cc64c6aeb5">GenericPointer</a>(const Ch *source, size_t length, Allocator *allocator=0)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a6df9f6a01d1b5945811055e1cf8aead6">GenericPointer</a>(const Token *tokens, size_t tokenCount)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ae071847ed3e7389f5b256d26fcc8fd62">GenericPointer</a>(const GenericPointer &amp;rhs)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#afedfcaac36fa589a46667825d3d0b763">GenericPointer</a>(const GenericPointer &amp;rhs, Allocator *allocator)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a38f23dc869001b53149804e563f6a465">nameBuffer_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a23194bb6ce6c07c78981344fe80ac3a6">operator=</a>(const GenericPointer &amp;rhs)</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a8798d7fdb02cd5b95bf032760aed8445">ownAllocator_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a20d76ef128abbdd0acd87d2f1fb0ae34">parseErrorCode_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a28e0ba01bc383d2fe7d54a450e35cd7a">parseErrorOffset_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#aa881255d7b268d819d0f2cc27a4fff81">RAPIDJSON_DISABLEIF_RETURN</a>((internal::NotExpr&lt; internal::IsSame&lt; typename internal::RemoveConst&lt; T &gt;::Type, Ch &gt; &gt;),(GenericPointer)) Append(T *name</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a249c61b5d4bed20c3f8972c57f46a937">swap</a>(GenericPointer &amp;a, GenericPointer &amp;b) RAPIDJSON_NOEXCEPT</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a91762c063f390c1463eb772dfd1b822b">Swap</a>(GenericPointer &amp;other) RAPIDJSON_NOEXCEPT</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#acb657759c16fa63da15186db8c29122b">tokenCount_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr class="even"><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#ad76284430e5e54ed22a4c93dc59e00c7">tokens_</a></td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"></td></tr>
  <tr><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html#a0e144b9956a5272c13ceff3b9306e748">~GenericPointer</a>()</td><td class="entry"><a class="el" href="classrapidjson_1_1_generic_pointer.html">rapidjson::GenericPointer&lt; ValueType, Allocator &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></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>
  </ul>
</div>
</body>
</html>
