blob: 5de5d8d2a2a504034402932916a205a499b046a1 [file] [log] [blame]
<!-- 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::SchemaValidatingReader&lt; parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="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_schema_validating_reader.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="classrapidjson_1_1_schema_validating_reader-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">rapidjson::SchemaValidatingReader&lt; parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A helper class for parsing with validation.
<a href="classrapidjson_1_1_schema_validating_reader.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="schema_8h_source.html">schema.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:a42c64d1ed25ffb2e70a35b9e43e0e564"><td class="memItemLeft" align="right" valign="top"><a id="a42c64d1ed25ffb2e70a35b9e43e0e564"></a>
typedef SchemaDocumentType::PointerType&#160;</td><td class="memItemRight" valign="bottom"><b>PointerType</b></td></tr>
<tr class="separator:a42c64d1ed25ffb2e70a35b9e43e0e564"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3507a4886ce6778fe1cae39ed5f0baaf"><td class="memItemLeft" align="right" valign="top"><a id="a3507a4886ce6778fe1cae39ed5f0baaf"></a>
typedef InputStream::Ch&#160;</td><td class="memItemRight" valign="bottom"><b>Ch</b></td></tr>
<tr class="separator:a3507a4886ce6778fe1cae39ed5f0baaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb634fa68daaa8c185136258042f4c6"><td class="memItemLeft" align="right" valign="top"><a id="a6fb634fa68daaa8c185136258042f4c6"></a>
typedef <a class="el" href="classrapidjson_1_1_generic_value.html">GenericValue</a>&lt; SourceEncoding, StackAllocator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ValueType</b></td></tr>
<tr class="separator:a6fb634fa68daaa8c185136258042f4c6"><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:a1e2bcc66cad23376241cd91e8bf8c706"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_schema_validating_reader.html#a1e2bcc66cad23376241cd91e8bf8c706">SchemaValidatingReader</a> (InputStream &amp;is, const SchemaDocumentType &amp;sd)</td></tr>
<tr class="memdesc:a1e2bcc66cad23376241cd91e8bf8c706"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="classrapidjson_1_1_schema_validating_reader.html#a1e2bcc66cad23376241cd91e8bf8c706">More...</a><br /></td></tr>
<tr class="separator:a1e2bcc66cad23376241cd91e8bf8c706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb09230cc40b8dc5ba607de14d37dc42"><td class="memTemplParams" colspan="2"><a id="adb09230cc40b8dc5ba607de14d37dc42"></a>
template&lt;typename Handler &gt; </td></tr>
<tr class="memitem:adb09230cc40b8dc5ba607de14d37dc42"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><b>operator()</b> (<a class="el" href="classrapidjson_1_1_handler.html">Handler</a> &amp;handler)</td></tr>
<tr class="separator:adb09230cc40b8dc5ba607de14d37dc42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a957147a03ad791aa12a0552320371a41"><td class="memItemLeft" align="right" valign="top"><a id="a957147a03ad791aa12a0552320371a41"></a>
const <a class="el" href="group___r_a_p_i_d_j_s_o_n___e_r_r_o_r_s.html#structrapidjson_1_1_parse_result">ParseResult</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetParseResult</b> () const</td></tr>
<tr class="separator:a957147a03ad791aa12a0552320371a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a803e1eff3f4fa021e56c6583c45c9fb4"><td class="memItemLeft" align="right" valign="top"><a id="a803e1eff3f4fa021e56c6583c45c9fb4"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsValid</b> () const</td></tr>
<tr class="separator:a803e1eff3f4fa021e56c6583c45c9fb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae90052ccece8e04e7a840dd61f7ac83c"><td class="memItemLeft" align="right" valign="top"><a id="ae90052ccece8e04e7a840dd61f7ac83c"></a>
const PointerType &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetInvalidSchemaPointer</b> () const</td></tr>
<tr class="separator:ae90052ccece8e04e7a840dd61f7ac83c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67bf36f1e4bf24a0760170ed199f592b"><td class="memItemLeft" align="right" valign="top"><a id="a67bf36f1e4bf24a0760170ed199f592b"></a>
const Ch *&#160;</td><td class="memItemRight" valign="bottom"><b>GetInvalidSchemaKeyword</b> () const</td></tr>
<tr class="separator:a67bf36f1e4bf24a0760170ed199f592b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00e8db597e8a55b5f8810707dda40dfa"><td class="memItemLeft" align="right" valign="top"><a id="a00e8db597e8a55b5f8810707dda40dfa"></a>
const PointerType &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetInvalidDocumentPointer</b> () const</td></tr>
<tr class="separator:a00e8db597e8a55b5f8810707dda40dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a296167ce6eb968797de22a671311c4a5"><td class="memItemLeft" align="right" valign="top"><a id="a296167ce6eb968797de22a671311c4a5"></a>
const <a class="el" href="classrapidjson_1_1_generic_value.html">ValueType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetError</b> () const</td></tr>
<tr class="separator:a296167ce6eb968797de22a671311c4a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae98f0c61bf10b499ccf7ef882954fe04"><td class="memItemLeft" align="right" valign="top"><a id="ae98f0c61bf10b499ccf7ef882954fe04"></a>
<a class="el" href="group___r_a_p_i_d_j_s_o_n___e_r_r_o_r_s.html#ga633f43fd92e6ed5ceb87dbf570647847">ValidateErrorCode</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetInvalidSchemaCode</b> () const</td></tr>
<tr class="separator:ae98f0c61bf10b499ccf7ef882954fe04"><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;unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator&gt;<br />
class rapidjson::SchemaValidatingReader&lt; parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator &gt;</h3>
<p>A helper class for parsing with validation. </p>
<p>This helper class is a functor, designed as a parameter of <a class="el" href="classrapidjson_1_1_generic_document.html#a63e18887979da500ece6f0bd10d29b64">GenericDocument::Populate()</a>.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">parseFlags</td><td>Combination of <a class="el" href="namespacerapidjson.html#a81379eb4e94a0386d71d15fda882ebc9">ParseFlag</a>. </td></tr>
<tr><td class="paramname">InputStream</td><td>Type of input stream, implementing <a class="el" href="classrapidjson_1_1_stream.html" title="Concept for reading and writing characters.">Stream</a> concept. </td></tr>
<tr><td class="paramname">SourceEncoding</td><td><a class="el" href="classrapidjson_1_1_encoding.html" title="Concept for encoding of Unicode characters.">Encoding</a> of the input stream. </td></tr>
<tr><td class="paramname">SchemaDocumentType</td><td>Type of schema document. </td></tr>
<tr><td class="paramname">StackAllocator</td><td><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block.">Allocator</a> type for stack. </td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1e2bcc66cad23376241cd91e8bf8c706"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e2bcc66cad23376241cd91e8bf8c706">&#9670;&nbsp;</a></span>SchemaValidatingReader()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned parseFlags, typename InputStream , typename SourceEncoding , typename SchemaDocumentType = SchemaDocument, typename StackAllocator = 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_schema_validating_reader.html">rapidjson::SchemaValidatingReader</a>&lt; parseFlags, InputStream, SourceEncoding, SchemaDocumentType, StackAllocator &gt;::<a class="el" href="classrapidjson_1_1_schema_validating_reader.html">SchemaValidatingReader</a> </td>
<td>(</td>
<td class="paramtype">InputStream &amp;&#160;</td>
<td class="paramname"><em>is</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SchemaDocumentType &amp;&#160;</td>
<td class="paramname"><em>sd</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. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">is</td><td>Input stream. </td></tr>
<tr><td class="paramname">sd</td><td>Schema document. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/rapidjson/<a class="el" href="schema_8h_source.html">schema.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_schema_validating_reader.html">SchemaValidatingReader</a></li>
</ul>
</div>
</body>
</html>