<!-- 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.13"/> <title>RapidJSON: rapidjson::GenericSchemaDocument< ValueT, Allocator > 模板类 参考</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"> $(document).ready(initResizable); </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"> $(document).ready(function() { init_search(); }); </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.13 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'搜索'); </script> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('classrapidjson_1_1_generic_schema_document.html','');}); </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </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> | <a href="#pub-types">Public 类型</a> | <a href="#pub-methods">Public 成员函数</a> | <a href="#friends">友元</a> | <a href="classrapidjson_1_1_generic_schema_document-members.html">所有成员列表</a> </div> <div class="headertitle"> <div class="title">rapidjson::GenericSchemaDocument< ValueT, Allocator > 模板类 参考</div> </div> </div><!--header--> <div class="contents"> <p>JSON schema document. <a href="classrapidjson_1_1_generic_schema_document.html#details">更多...</a></p> <p><code>#include <<a class="el" href="schema_8h_source.html">schema.h</a>></code></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public 类型</h2></td></tr> <tr class="memitem:a87eb1db271e7f57442802a5f4f6178f3"><td class="memItemLeft" align="right" valign="top"><a id="a87eb1db271e7f57442802a5f4f6178f3"></a> typedef ValueT </td><td class="memItemRight" valign="bottom"><b>ValueType</b></td></tr> <tr class="separator:a87eb1db271e7f57442802a5f4f6178f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab2764f2258889b3262eff6293d7ca015"><td class="memItemLeft" align="right" valign="top"><a id="ab2764f2258889b3262eff6293d7ca015"></a> typedef <a class="el" href="classrapidjson_1_1_i_generic_remote_schema_document_provider.html">IGenericRemoteSchemaDocumentProvider</a>< <a class="el" href="classrapidjson_1_1_generic_schema_document.html">GenericSchemaDocument</a> > </td><td class="memItemRight" valign="bottom"><b>IRemoteSchemaDocumentProviderType</b></td></tr> <tr class="separator:ab2764f2258889b3262eff6293d7ca015"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6fc497ef6e303b3a3ecec9fefe82eade"><td class="memItemLeft" align="right" valign="top"><a id="a6fc497ef6e303b3a3ecec9fefe82eade"></a> typedef <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> </td><td class="memItemRight" valign="bottom"><b>AllocatorType</b></td></tr> <tr class="separator:a6fc497ef6e303b3a3ecec9fefe82eade"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a019035fd281ca52874ed434ce4f7d4d8"><td class="memItemLeft" align="right" valign="top"><a id="a019035fd281ca52874ed434ce4f7d4d8"></a> typedef ValueType::EncodingType </td><td class="memItemRight" valign="bottom"><b>EncodingType</b></td></tr> <tr class="separator:a019035fd281ca52874ed434ce4f7d4d8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af9b82162834b30bdcbe93cb065d0aedd"><td class="memItemLeft" align="right" valign="top"><a id="af9b82162834b30bdcbe93cb065d0aedd"></a> typedef EncodingType::Ch </td><td class="memItemRight" valign="bottom"><b>Ch</b></td></tr> <tr class="separator:af9b82162834b30bdcbe93cb065d0aedd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaf4e7f371de938025f7ed4be3b83266e"><td class="memItemLeft" align="right" valign="top"><a id="aaf4e7f371de938025f7ed4be3b83266e"></a> typedef internal::Schema< <a class="el" href="classrapidjson_1_1_generic_schema_document.html">GenericSchemaDocument</a> > </td><td class="memItemRight" valign="bottom"><b>SchemaType</b></td></tr> <tr class="separator:aaf4e7f371de938025f7ed4be3b83266e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a61540c0f8aa542760ae03257a0e6dab7"><td class="memItemLeft" align="right" valign="top"><a id="a61540c0f8aa542760ae03257a0e6dab7"></a> typedef <a class="el" href="classrapidjson_1_1_generic_pointer.html">GenericPointer</a>< ValueType, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> > </td><td class="memItemRight" valign="bottom"><b>PointerType</b></td></tr> <tr class="separator:a61540c0f8aa542760ae03257a0e6dab7"><td class="memSeparator" colspan="2"> </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:ad200cc7bcb193c8568cdbda7b7fd0496"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_schema_document.html#ad200cc7bcb193c8568cdbda7b7fd0496">GenericSchemaDocument</a> (const ValueType &document, <a class="el" href="classrapidjson_1_1_i_generic_remote_schema_document_provider.html">IRemoteSchemaDocumentProviderType</a> *remoteProvider=0, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> *allocator=0)</td></tr> <tr class="memdesc:ad200cc7bcb193c8568cdbda7b7fd0496"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#ad200cc7bcb193c8568cdbda7b7fd0496">更多...</a><br /></td></tr> <tr class="separator:ad200cc7bcb193c8568cdbda7b7fd0496"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adf6f3372013227873ed392dee1e752bf"><td class="memItemLeft" align="right" valign="top"><a id="adf6f3372013227873ed392dee1e752bf"></a>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_schema_document.html#adf6f3372013227873ed392dee1e752bf">~GenericSchemaDocument</a> ()</td></tr> <tr class="memdesc:adf6f3372013227873ed392dee1e752bf"><td class="mdescLeft"> </td><td class="mdescRight">Destructor <br /></td></tr> <tr class="separator:adf6f3372013227873ed392dee1e752bf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b2ac6de85dc9c1fb4f4d0be4aeb2d6a"><td class="memItemLeft" align="right" valign="top"><a id="a8b2ac6de85dc9c1fb4f4d0be4aeb2d6a"></a> const SchemaType & </td><td class="memItemRight" valign="bottom"><a class="el" href="classrapidjson_1_1_generic_schema_document.html#a8b2ac6de85dc9c1fb4f4d0be4aeb2d6a">GetRoot</a> () const</td></tr> <tr class="memdesc:a8b2ac6de85dc9c1fb4f4d0be4aeb2d6a"><td class="mdescLeft"> </td><td class="mdescRight">Get the root schema. <br /></td></tr> <tr class="separator:a8b2ac6de85dc9c1fb4f4d0be4aeb2d6a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> 友元</h2></td></tr> <tr class="memitem:afcc03e6ba8f1a819e1a028c31ad38347"><td class="memTemplParams" colspan="2"><a id="afcc03e6ba8f1a819e1a028c31ad38347"></a> template<typename , typename , typename > </td></tr> <tr class="memitem:afcc03e6ba8f1a819e1a028c31ad38347"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>GenericSchemaValidator</b></td></tr> <tr class="separator:afcc03e6ba8f1a819e1a028c31ad38347"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">详细描述</h2> <div class="textblock"><h3>template<typename ValueT, typename Allocator = CrtAllocator><br /> class rapidjson::GenericSchemaDocument< ValueT, Allocator ></h3> <p>JSON schema document. </p> <p>A JSON schema document is a compiled version of a JSON schema. It is basically a tree of internal::Schema.</p> <dl class="section note"><dt>注解</dt><dd>This is an immutable class (i.e. its instance cannot be modified after construction). </dd></dl> <dl class="tparams"><dt>模板参数</dt><dd> <table class="tparams"> <tr><td class="paramname">ValueT</td><td>Type of JSON value (e.g. <code>Value</code> ), which also determine the encoding. </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><a class="el" href="classrapidjson_1_1_allocator.html" title="Concept for allocating, resizing and freeing memory block. ">Allocator</a> type for allocating memory of this document. </td></tr> </table> </dd> </dl> </div><h2 class="groupheader">构造及析构函数说明</h2> <a id="ad200cc7bcb193c8568cdbda7b7fd0496"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad200cc7bcb193c8568cdbda7b7fd0496">◆ </a></span>GenericSchemaDocument()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename ValueT , typename Allocator = CrtAllocator> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classrapidjson_1_1_generic_schema_document.html">rapidjson::GenericSchemaDocument</a>< ValueT, <a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> >::<a class="el" href="classrapidjson_1_1_generic_schema_document.html">GenericSchemaDocument</a> </td> <td>(</td> <td class="paramtype">const ValueType & </td> <td class="paramname"><em>document</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classrapidjson_1_1_i_generic_remote_schema_document_provider.html">IRemoteSchemaDocumentProviderType</a> * </td> <td class="paramname"><em>remoteProvider</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classrapidjson_1_1_allocator.html">Allocator</a> * </td> <td class="paramname"><em>allocator</em> = <code>0</code> </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. </p> <p>Compile a JSON document into schema document.</p> <dl class="params"><dt>参数</dt><dd> <table class="params"> <tr><td class="paramname">document</td><td>A JSON document as source. </td></tr> <tr><td class="paramname">remoteProvider</td><td>An optional remote schema document provider for resolving remote reference. Can be null. </td></tr> <tr><td class="paramname">allocator</td><td>An optional allocator instance for allocating memory. Can be null. </td></tr> </table> </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="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_generic_schema_document.html">GenericSchemaDocument</a></li> </ul> </div> </body> </html>