/*
@licstart  The following is the entire license notice for the
JavaScript code in this file.

Copyright (C) 1997-2019 by Dimitri van Heesch

This program is free software; you can redistribute it and/or modify
it under the terms of version 2 of the GNU General Public License as published by
the Free Software Foundation

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

@licend  The above is the entire license notice
for the JavaScript code in this file
*/
var NAVTREE =
[
  [ "RapidJSON", "index.html", [
    [ "Change Log", "md__c_h_a_n_g_e_l_o_g.html", [
      [ "高效的 C++ JSON 解析／生成器，提供 SAX 及 DOM 风格 API", "index.html#autotoc_md0", null ],
      [ "Build 状态", "index.html#autotoc_md1", null ],
      [ "简介", "index.html#autotoc_md2", null ],
      [ "v1.1 中的亮点 (2016-8-25)", "index.html#autotoc_md3", null ],
      [ "兼容性", "index.html#autotoc_md4", null ],
      [ "安装", "index.html#autotoc_md5", null ],
      [ "用法一览", "index.html#autotoc_md6", null ],
      [ "<a href=\"https://github.com/Tencent/rapidjson/compare/v1.1.0...HEAD\">Unreleased</a>", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md8", null ],
      [ "1.1.0 - 2016-08-25", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md9", [
        [ "Added", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md10", null ],
        [ "Fixed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md11", null ],
        [ "Changed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md12", null ]
      ] ],
      [ "<a href=\"https://github.com/Tencent/rapidjson/compare/v1.0.1...v1.0.2\">1.0.2</a> - 2015-05-14", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md13", [
        [ "Added", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md14", null ],
        [ "Fixed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md15", null ],
        [ "Changed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md16", null ]
      ] ],
      [ "<a href=\"https://github.com/Tencent/rapidjson/compare/v1.0.0...v1.0.1\">1.0.1</a> - 2015-04-25", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md17", [
        [ "Added", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md18", null ],
        [ "Fixed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md19", null ]
      ] ],
      [ "<a href=\"https://github.com/Tencent/rapidjson/compare/v1.0-beta...v1.0.0\">1.0.0</a> - 2015-04-22", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md20", [
        [ "Added", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md21", null ],
        [ "Fixed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md22", null ],
        [ "Removed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md23", null ]
      ] ],
      [ "1.0-beta - 2015-04-8", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md24", [
        [ "Added", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md25", null ],
        [ "Changed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md26", null ],
        [ "Removed", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md27", null ]
      ] ],
      [ "0.11 - 2012-11-16", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md28", null ],
      [ "0.1 - 2011-11-18", "md__c_h_a_n_g_e_l_o_g.html#autotoc_md29", null ]
    ] ],
    [ "特点", "md_doc_features_8zh-cn.html", [
      [ "总体", "md_doc_features_8zh-cn.html#autotoc_md31", null ],
      [ "符合标准", "md_doc_features_8zh-cn.html#autotoc_md32", null ],
      [ "Unicode", "md_doc_features_8zh-cn.html#autotoc_md33", null ],
      [ "API 风格", "md_doc_features_8zh-cn.html#autotoc_md34", null ],
      [ "解析", "md_doc_features_8zh-cn.html#autotoc_md35", null ],
      [ "DOM (Document)", "md_doc_features_8zh-cn.html#autotoc_md36", null ],
      [ "生成", "md_doc_features_8zh-cn.html#autotoc_md37", null ],
      [ "输入输出流", "md_doc_features_8zh-cn.html#autotoc_md38", null ],
      [ "内存", "md_doc_features_8zh-cn.html#autotoc_md39", null ],
      [ "其他", "md_doc_features_8zh-cn.html#autotoc_md40", null ]
    ] ],
    [ "教程", "md_doc_tutorial_8zh-cn.html", [
      [ "Value 及 Document", "md_doc_tutorial_8zh-cn.html#ValueDocument", null ],
      [ "查询 Value", "md_doc_tutorial_8zh-cn.html#QueryValue", [
        [ "查询 Array", "md_doc_tutorial_8zh-cn.html#QueryArray", [
          [ "范围 for 循环 (v1.1.0 中的新功能)", "md_doc_tutorial_8zh-cn.html#autotoc_md42", null ]
        ] ],
        [ "查询 Object", "md_doc_tutorial_8zh-cn.html#QueryObject", [
          [ "范围 for 循环 (v1.1.0 中的新功能)", "md_doc_tutorial_8zh-cn.html#autotoc_md43", null ]
        ] ],
        [ "查询 Number", "md_doc_tutorial_8zh-cn.html#QueryNumber", null ],
        [ "查询 String", "md_doc_tutorial_8zh-cn.html#QueryString", null ],
        [ "比较两个 Value", "md_doc_tutorial_8zh-cn.html#autotoc_md44", null ]
      ] ],
      [ "创建／修改值", "md_doc_tutorial_8zh-cn.html#CreateModifyValues", [
        [ "改变 Value 类型", "md_doc_tutorial_8zh-cn.html#ChangeValueType", [
          [ "构造函数的各个重载", "md_doc_tutorial_8zh-cn.html#autotoc_md45", null ]
        ] ],
        [ "转移语义（Move Semantics）", "md_doc_tutorial_8zh-cn.html#MoveSemantics", [
          [ "转移语义及临时值", "md_doc_tutorial_8zh-cn.html#TemporaryValues", null ]
        ] ],
        [ "创建 String", "md_doc_tutorial_8zh-cn.html#CreateString", null ],
        [ "修改 Array", "md_doc_tutorial_8zh-cn.html#ModifyArray", null ],
        [ "修改 Object", "md_doc_tutorial_8zh-cn.html#ModifyObject", null ],
        [ "深复制 Value", "md_doc_tutorial_8zh-cn.html#DeepCopyValue", null ],
        [ "交换 Value", "md_doc_tutorial_8zh-cn.html#SwapValues", null ]
      ] ],
      [ "下一部分", "md_doc_tutorial_8zh-cn.html#WhatsNext", null ]
    ] ],
    [ "Pointer", "md_doc_pointer_8zh-cn.html", [
      [ "JSON Pointer", "md_doc_pointer_8zh-cn.html#JsonPointer", null ],
      [ "基本使用方法", "md_doc_pointer_8zh-cn.html#BasicUsage", null ],
      [ "辅助函数", "md_doc_pointer_8zh-cn.html#HelperFunctions", null ],
      [ "解析 Pointer", "md_doc_pointer_8zh-cn.html#ResolvingPointer", [
        [ "解析负号 token", "md_doc_pointer_8zh-cn.html#autotoc_md47", null ],
        [ "解析 Document 及 Value", "md_doc_pointer_8zh-cn.html#autotoc_md48", null ]
      ] ],
      [ "错误处理", "md_doc_pointer_8zh-cn.html#ErrorHandling", null ],
      [ "URI 片段表示方式", "md_doc_pointer_8zh-cn.html#URIFragment", null ],
      [ "字符串化", "md_doc_pointer_8zh-cn.html#autotoc_md49", null ],
      [ "使用者提供的 tokens", "md_doc_pointer_8zh-cn.html#UserSuppliedTokens", null ]
    ] ],
    [ "流", "md_doc_stream_8zh-cn.html", [
      [ "内存流", "md_doc_stream_8zh-cn.html#MemoryStreams", [
        [ "StringStream（输入）", "md_doc_stream_8zh-cn.html#StringStream", null ],
        [ "StringBuffer（输出）", "md_doc_stream_8zh-cn.html#StringBuffer", null ]
      ] ],
      [ "文件流", "md_doc_stream_8zh-cn.html#FileStreams", [
        [ "FileReadStream（输入）", "md_doc_stream_8zh-cn.html#FileReadStream", null ],
        [ "FileWriteStream（输出）", "md_doc_stream_8zh-cn.html#FileWriteStream", null ]
      ] ],
      [ "iostream 包装类", "md_doc_stream_8zh-cn.html#iostreamWrapper", [
        [ "IStreamWrapper", "md_doc_stream_8zh-cn.html#IStreamWrapper", null ],
        [ "OStreamWrapper", "md_doc_stream_8zh-cn.html#OStreamWrapper", null ]
      ] ],
      [ "编码流", "md_doc_stream_8zh-cn.html#EncodedStreams", [
        [ "EncodedInputStream", "md_doc_stream_8zh-cn.html#EncodedInputStream", null ],
        [ "EncodedOutputStream", "md_doc_stream_8zh-cn.html#EncodedOutputStream", null ],
        [ "AutoUTFInputStream", "md_doc_stream_8zh-cn.html#AutoUTFInputStream", null ],
        [ "AutoUTFOutputStream", "md_doc_stream_8zh-cn.html#AutoUTFOutputStream", null ]
      ] ],
      [ "自定义流", "md_doc_stream_8zh-cn.html#CustomStream", [
        [ "例子：istream 的包装类", "md_doc_stream_8zh-cn.html#ExampleIStreamWrapper", null ],
        [ "例子：ostream 的包装类", "md_doc_stream_8zh-cn.html#ExampleOStreamWrapper", null ]
      ] ],
      [ "总结", "md_doc_stream_8zh-cn.html#Summary", null ]
    ] ],
    [ "编码", "md_doc_encoding_8zh-cn.html", [
      [ "Unicode", "md_doc_encoding_8zh-cn.html#Unicode", [
        [ "Unicode 转换格式", "md_doc_encoding_8zh-cn.html#UTF", null ],
        [ "字符类型", "md_doc_encoding_8zh-cn.html#CharacterType", null ],
        [ "AutoUTF", "md_doc_encoding_8zh-cn.html#AutoUTF", null ],
        [ "ASCII", "md_doc_encoding_8zh-cn.html#ASCII", null ]
      ] ],
      [ "校验及转码", "md_doc_encoding_8zh-cn.html#ValidationTranscoding", [
        [ "转码器", "md_doc_encoding_8zh-cn.html#Transcoder", null ]
      ] ]
    ] ],
    [ "DOM", "md_doc_dom_8zh-cn.html", [
      [ "模板", "md_doc_dom_8zh-cn.html#Template", [
        [ "编码", "md_doc_dom_8zh-cn.html#Encoding", null ],
        [ "分配器", "md_doc_dom_8zh-cn.html#Allocator", null ]
      ] ],
      [ "解析", "md_doc_dom_8zh-cn.html#Parsing", [
        [ "解析错误", "md_doc_dom_8zh-cn.html#ParseError", null ],
        [ "原位解析", "md_doc_dom_8zh-cn.html#InSituParsing", null ],
        [ "转码与校验", "md_doc_dom_8zh-cn.html#TranscodingAndValidation", null ]
      ] ],
      [ "技巧", "md_doc_dom_8zh-cn.html#Techniques", [
        [ "把 DOM 作为 SAX 事件发表者", "md_doc_dom_8zh-cn.html#autotoc_md53", null ],
        [ "使用者缓冲区", "md_doc_dom_8zh-cn.html#UserBuffer", null ]
      ] ]
    ] ],
    [ "SAX", "md_doc_sax_8zh-cn.html", [
      [ "Reader", "md_doc_sax_8zh-cn.html#Reader", [
        [ "处理器", "md_doc_sax_8zh-cn.html#Handler", null ],
        [ "GenericReader", "md_doc_sax_8zh-cn.html#GenericReader", null ],
        [ "解析", "md_doc_sax_8zh-cn.html#SaxParsing", null ]
      ] ],
      [ "Writer", "md_doc_sax_8zh-cn.html#Writer", [
        [ "模板", "md_doc_sax_8zh-cn.html#WriterTemplate", null ],
        [ "PrettyWriter", "md_doc_sax_8zh-cn.html#PrettyWriter", null ],
        [ "完整性及重置", "md_doc_sax_8zh-cn.html#CompletenessReset", null ]
      ] ],
      [ "技巧", "md_doc_sax_8zh-cn.html#SaxTechniques", [
        [ "解析 JSON 至自定义结构", "md_doc_sax_8zh-cn.html#CustomDataStructure", null ],
        [ "过滤 JSON", "md_doc_sax_8zh-cn.html#Filtering", null ]
      ] ]
    ] ],
    [ "Schema", "md_doc_schema_8zh-cn.html", [
      [ "在解析／生成时进行校验", "md_doc_schema_8zh-cn.html#ParsingSerialization", [
        [ "DOM 解析", "md_doc_schema_8zh-cn.html#DomParsing", null ],
        [ "生成", "md_doc_schema_8zh-cn.html#Serialization", null ]
      ] ],
      [ "远程 Schema", "md_doc_schema_8zh-cn.html#RemoteSchema", null ],
      [ "标准的符合程度", "md_doc_schema_8zh-cn.html#Conformance", [
        [ "正则表达式", "md_doc_schema_8zh-cn.html#RegEx", null ]
      ] ],
      [ "性能", "md_doc_schema_8zh-cn.html#Performance", null ]
    ] ],
    [ "性能", "md_doc_performance_8zh-cn.html", [
      [ "第三方评测", "md_doc_performance_8zh-cn.html#autotoc_md57", null ]
    ] ],
    [ "内部架构", "md_doc_internals_8zh-cn.html", [
      [ "架构", "md_doc_internals_8zh-cn.html#Architecture", [
        [ "SAX 和 DOM", "md_doc_internals_8zh-cn.html#autotoc_md59", null ],
        [ "工具类", "md_doc_internals_8zh-cn.html#autotoc_md60", null ]
      ] ],
      [ "值（Value）", "md_doc_internals_8zh-cn.html#Value", [
        [ "数据布局", "md_doc_internals_8zh-cn.html#DataLayout", null ],
        [ "标志", "md_doc_internals_8zh-cn.html#Flags", null ],
        [ "短字符串优化", "md_doc_internals_8zh-cn.html#ShortString", null ]
      ] ],
      [ "分配器（Allocator）", "md_doc_internals_8zh-cn.html#InternalAllocator", [
        [ "MemoryPoolAllocator", "md_doc_internals_8zh-cn.html#MemoryPoolAllocator", null ]
      ] ],
      [ "解析优化", "md_doc_internals_8zh-cn.html#ParsingOptimization", [
        [ "使用 SIMD 跳过空格", "md_doc_internals_8zh-cn.html#SkipwhitespaceWithSIMD", [
          [ "页面对齐问题", "md_doc_internals_8zh-cn.html#autotoc_md61", null ]
        ] ],
        [ "局部流拷贝", "md_doc_internals_8zh-cn.html#LocalStreamCopy", null ],
        [ "解析为双精度浮点数", "md_doc_internals_8zh-cn.html#ParsingDouble", null ]
      ] ],
      [ "生成优化", "md_doc_internals_8zh-cn.html#GenerationOptimization", [
        [ "整数到字符串的转换", "md_doc_internals_8zh-cn.html#itoa", null ],
        [ "双精度浮点数到字符串的转换", "md_doc_internals_8zh-cn.html#dtoa", null ]
      ] ],
      [ "解析器", "md_doc_internals_8zh-cn.html#Parser", [
        [ "迭代解析", "md_doc_internals_8zh-cn.html#IterativeParser", [
          [ "语法", "md_doc_internals_8zh-cn.html#IterativeParserGrammar", null ],
          [ "解析表", "md_doc_internals_8zh-cn.html#IterativeParserParsingTable", null ],
          [ "实现", "md_doc_internals_8zh-cn.html#IterativeParserImplementation", null ]
        ] ]
      ] ]
    ] ],
    [ "常见问题", "md_doc_faq_8zh-cn.html", [
      [ "一般问题", "md_doc_faq_8zh-cn.html#autotoc_md63", null ],
      [ "JSON", "md_doc_faq_8zh-cn.html#autotoc_md64", null ],
      [ "DOM 与 SAX", "md_doc_faq_8zh-cn.html#autotoc_md65", null ],
      [ "Document/Value (DOM)", "md_doc_faq_8zh-cn.html#autotoc_md66", null ],
      [ "Reader/Writer (SAX)", "md_doc_faq_8zh-cn.html#autotoc_md67", null ],
      [ "Unicode", "md_doc_faq_8zh-cn.html#autotoc_md68", null ],
      [ "流", "md_doc_faq_8zh-cn.html#autotoc_md69", null ],
      [ "性能", "md_doc_faq_8zh-cn.html#autotoc_md70", null ],
      [ "八卦", "md_doc_faq_8zh-cn.html#autotoc_md71", null ]
    ] ],
    [ "模块", "modules.html", "modules" ],
    [ "命名空间成员", "namespacemembers.html", [
      [ "全部", "namespacemembers.html", null ],
      [ "函数", "namespacemembers_func.html", null ],
      [ "变量", "namespacemembers_vars.html", null ],
      [ "类型定义", "namespacemembers_type.html", null ],
      [ "枚举", "namespacemembers_enum.html", null ],
      [ "枚举值", "namespacemembers_eval.html", null ]
    ] ],
    [ "类", "annotated.html", [
      [ "类列表", "annotated.html", "annotated_dup" ],
      [ "类继承关系", "hierarchy.html", "hierarchy" ],
      [ "类成员", "functions.html", [
        [ "全部", "functions.html", null ],
        [ "函数", "functions_func.html", null ],
        [ "变量", "functions_vars.html", null ],
        [ "类型定义", "functions_type.html", null ],
        [ "相关函数", "functions_rela.html", null ]
      ] ]
    ] ],
    [ "文件", "files.html", [
      [ "文件列表", "files.html", "files_dup" ],
      [ "文件成员", "globals.html", [
        [ "全部", "globals.html", null ],
        [ "宏定义", "globals_defs.html", null ]
      ] ]
    ] ]
  ] ]
];

var NAVTREEINDEX =
[
"allocators_8h_source.html",
"classrapidjson_1_1_generic_object.html#a90e43c69c44aba575dd7a662155bd6d2",
"classrapidjson_1_1_generic_value.html#aecc9d0a6aafe31f4fdf9f6e75e5f089c",
"error_8h_source.html",
"md_doc_pointer_8zh-cn.html#autotoc_md47",
"structrapidjson_1_1_memory_stream.html#ad17be8ddf7b91d91b70fe1cdf5478d14"
];

var SYNCONMSG = '点击 关闭 面板同步';
var SYNCOFFMSG = '点击 开启 面板同步';