blob: 9e69d70a2f8d3196530b8075ea459b2d69203bd2 [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: include/rapidjson/rapidjson.h File 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('rapidjson_8h.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="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">rapidjson.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>common definitions and configuration
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;cstdlib&gt;</code><br />
<code>#include &lt;cstring&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;cassert&gt;</code><br />
</div>
<p><a href="rapidjson_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacerapidjson"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacerapidjson.html">rapidjson</a></td></tr>
<tr class="memdesc:namespacerapidjson"><td class="mdescLeft">&#160;</td><td class="mdescRight">main RapidJSON namespace <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf1ff1685be6cbebb5d4b2ab997776f45"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaf1ff1685be6cbebb5d4b2ab997776f45">RAPIDJSON_MAJOR_VERSION</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf1ff1685be6cbebb5d4b2ab997776f45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Major version of RapidJSON in integer. <br /></td></tr>
<tr class="separator:gaf1ff1685be6cbebb5d4b2ab997776f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9125105c593a636a79f1c2d96835376"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaf9125105c593a636a79f1c2d96835376">RAPIDJSON_MINOR_VERSION</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf9125105c593a636a79f1c2d96835376"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minor version of RapidJSON in integer. <br /></td></tr>
<tr class="separator:gaf9125105c593a636a79f1c2d96835376"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf967d31be43666ce7f53756d73bd1cdf"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaf967d31be43666ce7f53756d73bd1cdf">RAPIDJSON_PATCH_VERSION</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gaf967d31be43666ce7f53756d73bd1cdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Patch version of RapidJSON in integer. <br /></td></tr>
<tr class="separator:gaf967d31be43666ce7f53756d73bd1cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad283cfde97d9a32b7d8e8107b11f70a6"><td class="memItemLeft" align="right" valign="top">
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gad283cfde97d9a32b7d8e8107b11f70a6">RAPIDJSON_VERSION_STRING</a>&#160;&#160;&#160;RAPIDJSON_STRINGIFY(<a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaf967d31be43666ce7f53756d73bd1cdf">RAPIDJSON_MAJOR_VERSION.RAPIDJSON_MINOR_VERSION.RAPIDJSON_PATCH_VERSION</a>)</td></tr>
<tr class="memdesc:gad283cfde97d9a32b7d8e8107b11f70a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version of RapidJSON in "&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;" string format. <br /></td></tr>
<tr class="separator:gad283cfde97d9a32b7d8e8107b11f70a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga743a79d3af927391fe3eb5c979136899"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga743a79d3af927391fe3eb5c979136899">RAPIDJSON_NAMESPACE</a>&#160;&#160;&#160;rapidjson</td></tr>
<tr class="memdesc:ga743a79d3af927391fe3eb5c979136899"><td class="mdescLeft">&#160;</td><td class="mdescRight">provide custom rapidjson namespace <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga743a79d3af927391fe3eb5c979136899">More...</a><br /></td></tr>
<tr class="separator:ga743a79d3af927391fe3eb5c979136899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f2eef0ee4477f3fe5874703a66e997f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga2f2eef0ee4477f3fe5874703a66e997f">RAPIDJSON_HAS_STDSTRING</a></td></tr>
<tr class="memdesc:ga2f2eef0ee4477f3fe5874703a66e997f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable RapidJSON support for <code>std::string</code>. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga2f2eef0ee4477f3fe5874703a66e997f">More...</a><br /></td></tr>
<tr class="separator:ga2f2eef0ee4477f3fe5874703a66e997f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87dc65109882910388121e1dba15038b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga87dc65109882910388121e1dba15038b">RAPIDJSON_USE_MEMBERSMAP</a></td></tr>
<tr class="memdesc:ga87dc65109882910388121e1dba15038b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable RapidJSON support for object members handling in a <code>std::multimap</code>. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga87dc65109882910388121e1dba15038b">More...</a><br /></td></tr>
<tr class="separator:ga87dc65109882910388121e1dba15038b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f4e50c35dae3b015390daa6d48ce23c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga7f4e50c35dae3b015390daa6d48ce23c">RAPIDJSON_NO_INT64DEFINE</a></td></tr>
<tr class="memdesc:ga7f4e50c35dae3b015390daa6d48ce23c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use external 64-bit integer types. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga7f4e50c35dae3b015390daa6d48ce23c">More...</a><br /></td></tr>
<tr class="separator:ga7f4e50c35dae3b015390daa6d48ce23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addcc0c3607c5790f35cc4c15885ff97c"><td class="memItemLeft" align="right" valign="top"><a id="addcc0c3607c5790f35cc4c15885ff97c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#addcc0c3607c5790f35cc4c15885ff97c">RAPIDJSON_LITTLEENDIAN</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:addcc0c3607c5790f35cc4c15885ff97c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Little endian machine. <br /></td></tr>
<tr class="separator:addcc0c3607c5790f35cc4c15885ff97c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7951ebf8a2624ab85d2dcd3ec7af974"><td class="memItemLeft" align="right" valign="top"><a id="ac7951ebf8a2624ab85d2dcd3ec7af974"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#ac7951ebf8a2624ab85d2dcd3ec7af974">RAPIDJSON_BIGENDIAN</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:ac7951ebf8a2624ab85d2dcd3ec7af974"><td class="mdescLeft">&#160;</td><td class="mdescRight">Big endian machine. <br /></td></tr>
<tr class="separator:ac7951ebf8a2624ab85d2dcd3ec7af974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba2445f582142cf918e74c2d22d1aa07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaba2445f582142cf918e74c2d22d1aa07">RAPIDJSON_ENDIAN</a></td></tr>
<tr class="memdesc:gaba2445f582142cf918e74c2d22d1aa07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Endianness of the machine. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gaba2445f582142cf918e74c2d22d1aa07">More...</a><br /></td></tr>
<tr class="separator:gaba2445f582142cf918e74c2d22d1aa07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93973847cb99354b6b5bb5605aa7fe52"><td class="memItemLeft" align="right" valign="top"><a id="a93973847cb99354b6b5bb5605aa7fe52"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#a93973847cb99354b6b5bb5605aa7fe52">RAPIDJSON_64BIT</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a93973847cb99354b6b5bb5605aa7fe52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether using 64-bit architecture. <br /></td></tr>
<tr class="separator:a93973847cb99354b6b5bb5605aa7fe52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga583915242504c7fdb36e826f02f76242"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga583915242504c7fdb36e826f02f76242">RAPIDJSON_ALIGN</a>(x)&#160;&#160;&#160;(((x) + static_cast&lt;size_t&gt;(7u)) &amp; ~static_cast&lt;size_t&gt;(7u))</td></tr>
<tr class="memdesc:ga583915242504c7fdb36e826f02f76242"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data alignment of the machine. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga583915242504c7fdb36e826f02f76242">More...</a><br /></td></tr>
<tr class="separator:ga583915242504c7fdb36e826f02f76242"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaee1245f375a71be1ac9b8a07ba5fb8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#aaee1245f375a71be1ac9b8a07ba5fb8f">RAPIDJSON_UINT64_C2</a>(high32, low32)&#160;&#160;&#160;((static_cast&lt;uint64_t&gt;(high32) &lt;&lt; 32) | static_cast&lt;uint64_t&gt;(low32))</td></tr>
<tr class="memdesc:aaee1245f375a71be1ac9b8a07ba5fb8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a 64-bit literal by a pair of 32-bit integer. <a href="rapidjson_8h.html#aaee1245f375a71be1ac9b8a07ba5fb8f">More...</a><br /></td></tr>
<tr class="separator:aaee1245f375a71be1ac9b8a07ba5fb8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93fb983f78208d12c822376e1ea6d185"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga93fb983f78208d12c822376e1ea6d185">RAPIDJSON_48BITPOINTER_OPTIMIZATION</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga93fb983f78208d12c822376e1ea6d185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use only lower 48-bit address for some pointers. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga93fb983f78208d12c822376e1ea6d185">More...</a><br /></td></tr>
<tr class="separator:ga93fb983f78208d12c822376e1ea6d185"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a113598c4750b3aab4de2782ff1865ed4"><td class="memItemLeft" align="right" valign="top"><a id="a113598c4750b3aab4de2782ff1865ed4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RAPIDJSON_SETPOINTER</b>(type, p, x)&#160;&#160;&#160;(p = (x))</td></tr>
<tr class="separator:a113598c4750b3aab4de2782ff1865ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab67ad54afdd78883907fd1ecd007573a"><td class="memItemLeft" align="right" valign="top"><a id="ab67ad54afdd78883907fd1ecd007573a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>RAPIDJSON_GETPOINTER</b>(type, p)&#160;&#160;&#160;(p)</td></tr>
<tr class="separator:ab67ad54afdd78883907fd1ecd007573a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ccf72f3ebc4b3306ab669f95ca5c64b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga0ccf72f3ebc4b3306ab669f95ca5c64b">RAPIDJSON_SIMD</a></td></tr>
<tr class="memdesc:ga0ccf72f3ebc4b3306ab669f95ca5c64b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable SSE2/SSE4.2/Neon optimization. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga0ccf72f3ebc4b3306ab669f95ca5c64b">More...</a><br /></td></tr>
<tr class="separator:ga0ccf72f3ebc4b3306ab669f95ca5c64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga250603aa9e2a12429b25ba0c8108ad4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga250603aa9e2a12429b25ba0c8108ad4f">RAPIDJSON_NO_SIZETYPEDEFINE</a></td></tr>
<tr class="memdesc:ga250603aa9e2a12429b25ba0c8108ad4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">User-provided <code>SizeType</code> definition. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga250603aa9e2a12429b25ba0c8108ad4f">More...</a><br /></td></tr>
<tr class="separator:ga250603aa9e2a12429b25ba0c8108ad4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabeba18d612187bad2ac62aed9276d47c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gabeba18d612187bad2ac62aed9276d47c">RAPIDJSON_ASSERT</a>(x)&#160;&#160;&#160;assert(x)</td></tr>
<tr class="memdesc:gabeba18d612187bad2ac62aed9276d47c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assertion. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gabeba18d612187bad2ac62aed9276d47c">More...</a><br /></td></tr>
<tr class="separator:gabeba18d612187bad2ac62aed9276d47c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af95188da1d8eb6d4b148fe9ce71cd7c4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#af95188da1d8eb6d4b148fe9ce71cd7c4">RAPIDJSON_STATIC_ASSERT</a>(x)</td></tr>
<tr class="memdesc:af95188da1d8eb6d4b148fe9ce71cd7c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">(Internal) macro to check for conditions at compile-time <a href="rapidjson_8h.html#af95188da1d8eb6d4b148fe9ce71cd7c4">More...</a><br /></td></tr>
<tr class="separator:af95188da1d8eb6d4b148fe9ce71cd7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dc14176a9e71ace282404b0bcda57a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga5dc14176a9e71ace282404b0bcda57a1">RAPIDJSON_LIKELY</a>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="memdesc:ga5dc14176a9e71ace282404b0bcda57a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compiler branching hint for expression with high probability to be true. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga5dc14176a9e71ace282404b0bcda57a1">More...</a><br /></td></tr>
<tr class="separator:ga5dc14176a9e71ace282404b0bcda57a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a2b1695c13e77ae425e3cbac980ccb5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga6a2b1695c13e77ae425e3cbac980ccb5">RAPIDJSON_UNLIKELY</a>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="memdesc:ga6a2b1695c13e77ae425e3cbac980ccb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compiler branching hint for expression with low probability to be true. <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga6a2b1695c13e77ae425e3cbac980ccb5">More...</a><br /></td></tr>
<tr class="separator:ga6a2b1695c13e77ae425e3cbac980ccb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b2a0d9143aa4fb31205a85b34c43952"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga2b2a0d9143aa4fb31205a85b34c43952">RAPIDJSON_NOEXCEPT_ASSERT</a>(x)&#160;&#160;&#160;<a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#gabeba18d612187bad2ac62aed9276d47c">RAPIDJSON_ASSERT</a>(x)</td></tr>
<tr class="memdesc:ga2b2a0d9143aa4fb31205a85b34c43952"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assertion (in non-throwing contexts). <a href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html#ga2b2a0d9143aa4fb31205a85b34c43952">More...</a><br /></td></tr>
<tr class="separator:ga2b2a0d9143aa4fb31205a85b34c43952"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a047ad77d620d1ae97c1bc70a9f316f27"><td class="memItemLeft" align="right" valign="top"><a id="a047ad77d620d1ae97c1bc70a9f316f27"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#a047ad77d620d1ae97c1bc70a9f316f27">RAPIDJSON_MALLOC</a>(size)&#160;&#160;&#160;std::malloc(size)</td></tr>
<tr class="memdesc:a047ad77d620d1ae97c1bc70a9f316f27"><td class="mdescLeft">&#160;</td><td class="mdescRight">! customization point for global <code>malloc</code> <br /></td></tr>
<tr class="separator:a047ad77d620d1ae97c1bc70a9f316f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c0f2121d7803191a43609ea5d8dd67"><td class="memItemLeft" align="right" valign="top"><a id="aa2c0f2121d7803191a43609ea5d8dd67"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#aa2c0f2121d7803191a43609ea5d8dd67">RAPIDJSON_REALLOC</a>(ptr, new_size)&#160;&#160;&#160;std::realloc(ptr, new_size)</td></tr>
<tr class="memdesc:aa2c0f2121d7803191a43609ea5d8dd67"><td class="mdescLeft">&#160;</td><td class="mdescRight">! customization point for global <code>realloc</code> <br /></td></tr>
<tr class="separator:aa2c0f2121d7803191a43609ea5d8dd67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d5138eed2c5b311d9862d191393a5f"><td class="memItemLeft" align="right" valign="top"><a id="aa6d5138eed2c5b311d9862d191393a5f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#aa6d5138eed2c5b311d9862d191393a5f">RAPIDJSON_FREE</a>(ptr)&#160;&#160;&#160;std::free(ptr)</td></tr>
<tr class="memdesc:aa6d5138eed2c5b311d9862d191393a5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">! customization point for global <code>free</code> <br /></td></tr>
<tr class="separator:aa6d5138eed2c5b311d9862d191393a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdc7cd7902748ffe6626d71c59a73c3b"><td class="memItemLeft" align="right" valign="top"><a id="abdc7cd7902748ffe6626d71c59a73c3b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#abdc7cd7902748ffe6626d71c59a73c3b">RAPIDJSON_NEW</a>(TypeName)&#160;&#160;&#160;new TypeName</td></tr>
<tr class="memdesc:abdc7cd7902748ffe6626d71c59a73c3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">! customization point for global <code>new</code> <br /></td></tr>
<tr class="separator:abdc7cd7902748ffe6626d71c59a73c3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52c941c3fdd646527cdcd42aa846a28a"><td class="memItemLeft" align="right" valign="top"><a id="a52c941c3fdd646527cdcd42aa846a28a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rapidjson_8h.html#a52c941c3fdd646527cdcd42aa846a28a">RAPIDJSON_DELETE</a>(x)&#160;&#160;&#160;delete x</td></tr>
<tr class="memdesc:a52c941c3fdd646527cdcd42aa846a28a"><td class="mdescLeft">&#160;</td><td class="mdescRight">! customization point for global <code>delete</code> <br /></td></tr>
<tr class="separator:a52c941c3fdd646527cdcd42aa846a28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a44eb33eaa523e36d466b1ced64b85c84"><td class="memItemLeft" align="right" valign="top">typedef unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">rapidjson::SizeType</a></td></tr>
<tr class="memdesc:a44eb33eaa523e36d466b1ced64b85c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size type (for string lengths, array sizes, etc.) <a href="namespacerapidjson.html#a44eb33eaa523e36d466b1ced64b85c84">More...</a><br /></td></tr>
<tr class="separator:a44eb33eaa523e36d466b1ced64b85c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ae79a4751c1c460ff0de5ecc07874f3e4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">rapidjson::Type</a> { <br />
&#160;&#160;<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4a952871e4326b527154fc8aac1ac1f6ff">rapidjson::kNullType</a> = 0,
<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4a9f2e7047832dce1029551b5de0f05607">rapidjson::kFalseType</a> = 1,
<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4a80d9f25b083abce45edbfdd3ba006c8e">rapidjson::kTrueType</a> = 2,
<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4acf030b422a32c3647c7c5973bd4dd0a9">rapidjson::kObjectType</a> = 3,
<br />
&#160;&#160;<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4a058c622e1e7d59419ae58b895cbce468">rapidjson::kArrayType</a> = 4,
<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4ad6379da3dc04b83a591992bfb9fabba7">rapidjson::kStringType</a> = 5,
<a class="el" href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4abe572cb44ce198e467ccf9d63d50d82a">rapidjson::kNumberType</a> = 6
<br />
}</td></tr>
<tr class="memdesc:ae79a4751c1c460ff0de5ecc07874f3e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of JSON value. <a href="namespacerapidjson.html#ae79a4751c1c460ff0de5ecc07874f3e4">More...</a><br /></td></tr>
<tr class="separator:ae79a4751c1c460ff0de5ecc07874f3e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>common definitions and configuration </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___r_a_p_i_d_j_s_o_n___c_o_n_f_i_g.html" title="Configuration macros for library features.">RapidJSON configuration</a> </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="af95188da1d8eb6d4b148fe9ce71cd7c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af95188da1d8eb6d4b148fe9ce71cd7c4">&#9670;&nbsp;</a></span>RAPIDJSON_STATIC_ASSERT</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RAPIDJSON_STATIC_ASSERT</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">x</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>(Internal) macro to check for conditions at compile-time </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>compile-time condition </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaee1245f375a71be1ac9b8a07ba5fb8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaee1245f375a71be1ac9b8a07ba5fb8f">&#9670;&nbsp;</a></span>RAPIDJSON_UINT64_C2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RAPIDJSON_UINT64_C2</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">high32, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">low32&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td>&#160;&#160;&#160;((static_cast&lt;uint64_t&gt;(high32) &lt;&lt; 32) | static_cast&lt;uint64_t&gt;(low32))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a 64-bit literal by a pair of 32-bit integer. </p>
<p>64-bit literal with or without ULL suffix is prone to compiler warnings. UINT64_C() is C macro which cause compilation problems. Use this macro to define 64-bit constants by a pair of 32-bit integer. </p>
</div>
</div>
</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="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_32fb88e4d38e67d524aa70efbc36f66b.html">rapidjson</a></li><li class="navelem"><a class="el" href="rapidjson_8h.html">rapidjson.h</a></li>
</ul>
</div>
</body>
</html>