<!-- 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: rapidjson::BaseReaderHandler&lt; Encoding, Derived &gt; Struct Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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('structrapidjson_1_1_base_reader_handler.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="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="structrapidjson_1_1_base_reader_handler-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">rapidjson::BaseReaderHandler&lt; Encoding, Derived &gt; Struct Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Default implementation of <a class="el" href="classrapidjson_1_1_handler.html" title="Concept for receiving events from GenericReader upon parsing. The functions return true if no error o...">Handler</a>.  
 <a href="structrapidjson_1_1_base_reader_handler.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="reader_8h_source.html">reader.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a2932a8ecbb1997dda305f4dbef32ab0d"><td class="memItemLeft" align="right" valign="top"><a id="a2932a8ecbb1997dda305f4dbef32ab0d"></a>
typedef Encoding::Ch&#160;</td><td class="memItemRight" valign="bottom"><b>Ch</b></td></tr>
<tr class="separator:a2932a8ecbb1997dda305f4dbef32ab0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae61944eee4cb6a3f7f34f3d4edce7eeb"><td class="memItemLeft" align="right" valign="top"><a id="ae61944eee4cb6a3f7f34f3d4edce7eeb"></a>
typedef internal::SelectIf&lt; internal::IsSame&lt; Derived, void &gt;, <a class="el" href="structrapidjson_1_1_base_reader_handler.html">BaseReaderHandler</a>, Derived &gt;::<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">Type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Override</b></td></tr>
<tr class="separator:ae61944eee4cb6a3f7f34f3d4edce7eeb"><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 Member Functions</h2></td></tr>
<tr class="memitem:a050d1b4130a924d138f762d3c914a748"><td class="memItemLeft" align="right" valign="top"><a id="a050d1b4130a924d138f762d3c914a748"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Default</b> ()</td></tr>
<tr class="separator:a050d1b4130a924d138f762d3c914a748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a823c816871a8dd881019ee8526b517cb"><td class="memItemLeft" align="right" valign="top"><a id="a823c816871a8dd881019ee8526b517cb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Null</b> ()</td></tr>
<tr class="separator:a823c816871a8dd881019ee8526b517cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aead125c32fbf2a1311a2ba9c95b8604a"><td class="memItemLeft" align="right" valign="top"><a id="aead125c32fbf2a1311a2ba9c95b8604a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Bool</b> (bool)</td></tr>
<tr class="separator:aead125c32fbf2a1311a2ba9c95b8604a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7de3a16b56209aa2aa56a42591c426cb"><td class="memItemLeft" align="right" valign="top"><a id="a7de3a16b56209aa2aa56a42591c426cb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Int</b> (int)</td></tr>
<tr class="separator:a7de3a16b56209aa2aa56a42591c426cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9627844582969a7d79a2250bdb4f9ec0"><td class="memItemLeft" align="right" valign="top"><a id="a9627844582969a7d79a2250bdb4f9ec0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Uint</b> (unsigned)</td></tr>
<tr class="separator:a9627844582969a7d79a2250bdb4f9ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb78023dc0f5a31f9c5d5de4a55d9077"><td class="memItemLeft" align="right" valign="top"><a id="afb78023dc0f5a31f9c5d5de4a55d9077"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Int64</b> (int64_t)</td></tr>
<tr class="separator:afb78023dc0f5a31f9c5d5de4a55d9077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76b043fefd5fac0faadf3846995af6f5"><td class="memItemLeft" align="right" valign="top"><a id="a76b043fefd5fac0faadf3846995af6f5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Uint64</b> (uint64_t)</td></tr>
<tr class="separator:a76b043fefd5fac0faadf3846995af6f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03e7d273b4d317b61a4ae56e0da9097a"><td class="memItemLeft" align="right" valign="top"><a id="a03e7d273b4d317b61a4ae56e0da9097a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Double</b> (double)</td></tr>
<tr class="separator:a03e7d273b4d317b61a4ae56e0da9097a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0de969fd05528960c2a7de51b2265bf1"><td class="memItemLeft" align="right" valign="top"><a id="a0de969fd05528960c2a7de51b2265bf1"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrapidjson_1_1_base_reader_handler.html#a0de969fd05528960c2a7de51b2265bf1">RawNumber</a> (const Ch *str, <a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a> len, bool copy)</td></tr>
<tr class="memdesc:a0de969fd05528960c2a7de51b2265bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) <br /></td></tr>
<tr class="separator:a0de969fd05528960c2a7de51b2265bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad48b724f01c31c1fdbd623bd31df6a3c"><td class="memItemLeft" align="right" valign="top"><a id="ad48b724f01c31c1fdbd623bd31df6a3c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>String</b> (const Ch *, <a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a>, bool)</td></tr>
<tr class="separator:ad48b724f01c31c1fdbd623bd31df6a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f3d3bec89a751cdcf7a4236dbc6b26d"><td class="memItemLeft" align="right" valign="top"><a id="a2f3d3bec89a751cdcf7a4236dbc6b26d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>StartObject</b> ()</td></tr>
<tr class="separator:a2f3d3bec89a751cdcf7a4236dbc6b26d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92649c2dc3e94e085ee056c17444d418"><td class="memItemLeft" align="right" valign="top"><a id="a92649c2dc3e94e085ee056c17444d418"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>Key</b> (const Ch *str, <a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a> len, bool copy)</td></tr>
<tr class="separator:a92649c2dc3e94e085ee056c17444d418"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6216b7af34bbae857ff06363f5b13f5d"><td class="memItemLeft" align="right" valign="top"><a id="a6216b7af34bbae857ff06363f5b13f5d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>EndObject</b> (<a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a>)</td></tr>
<tr class="separator:a6216b7af34bbae857ff06363f5b13f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6fba36350848cb691879758b2d8d59"><td class="memItemLeft" align="right" valign="top"><a id="a0c6fba36350848cb691879758b2d8d59"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>StartArray</b> ()</td></tr>
<tr class="separator:a0c6fba36350848cb691879758b2d8d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fc75176ec793217d40d5a8de049cdb3"><td class="memItemLeft" align="right" valign="top"><a id="a8fc75176ec793217d40d5a8de049cdb3"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>EndArray</b> (<a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">SizeType</a>)</td></tr>
<tr class="separator:a8fc75176ec793217d40d5a8de049cdb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Encoding = UTF8&lt;&gt;, typename Derived = void&gt;<br />
struct rapidjson::BaseReaderHandler&lt; Encoding, Derived &gt;</h3>

<p>Default implementation of <a class="el" href="classrapidjson_1_1_handler.html" title="Concept for receiving events from GenericReader upon parsing. The functions return true if no error o...">Handler</a>. </p>
<p>This can be used as base class of any reader handler. </p><dl class="section note"><dt>Note</dt><dd>implements <a class="el" href="classrapidjson_1_1_handler.html" title="Concept for receiving events from GenericReader upon parsing. The functions return true if no error o...">Handler</a> concept </dd></dl>
</div><hr/>The documentation for this struct was generated from the following files:<ul>
<li>include/rapidjson/<a class="el" href="fwd_8h_source.html">fwd.h</a></li>
<li>include/rapidjson/<a class="el" href="reader_8h_source.html">reader.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="structrapidjson_1_1_base_reader_handler.html">BaseReaderHandler</a></li>
  </ul>
</div>
</body>
</html>
