<html> <head> <title> JsonCpp - JSON data format manipulation library </title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table width="100%"> <tr> <td width="40%" align="left" valign="center"> <a href="https://github.com/open-source-parsers/jsoncpp"> JsonCpp project page </a> </td> <td width="40%" align="right" valign="center"> <a href="http://open-source-parsers.github.io/jsoncpp-docs/doxygen/">JsonCpp home page</a> </td> </tr> </table> <hr> <!-- Generated by Doxygen 1.8.8 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_afd937d70611a55c9601734fb033a9b9.html">json</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#define-members">Macros</a> </div> <div class="headertitle"> <div class="title">assertions.h File Reference</div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><code>#include <stdlib.h></code><br /> <code>#include <sstream></code><br /> <code>#include "<a class="el" href="config_8h_source.html">config.h</a>"</code><br /> </div><div class="textblock"><div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Include dependency graph for assertions.h:</div> <div id="dynsection-0-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-0-content" class="dyncontent" style="display:none;"> <div class="center"><img src="assertions_8h__incl.png" border="0" usemap="#_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8h" alt=""/></div> <map name="_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8h" id="_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8h"> <area shape="rect" id="node4" href="config_8h.html" title="config.h" alt="" coords="248,109,351,136"/></map> </div> </div><div class="textblock"><div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"> <img id="dynsection-1-trigger" src="closed.png" alt="+"/> This graph shows which files directly or indirectly include this file:</div> <div id="dynsection-1-summary" class="dynsummary" style="display:block;"> </div> <div id="dynsection-1-content" class="dyncontent" style="display:none;"> <div class="center"><img src="assertions_8h__dep__incl.png" border="0" usemap="#_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8hdep" alt=""/></div> <map name="_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8hdep" id="_2home_2iurt_2rpmbuild_2_b_u_i_l_d_2jsoncpp-1_86_85_2include_2json_2assertions_8hdep"> <area shape="rect" id="node2" href="json__reader_8cpp.html" title="/home/iurt/rpmbuild\l/BUILD/jsoncpp-1.6.5\l/src/lib_json/json_reader.cpp" alt="" coords="5,109,317,165"/><area shape="rect" id="node3" href="json__value_8cpp.html" title="/home/iurt/rpmbuild\l/BUILD/jsoncpp-1.6.5\l/src/lib_json/json_value.cpp" alt="" coords="342,109,645,165"/></map> </div> </div> <p><a href="assertions_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="define-members"></a> Macros</h2></td></tr> <tr class="memitem:a188941dcc789ccb6539c3d6f41405582"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="assertions_8h.html#a188941dcc789ccb6539c3d6f41405582">JSON_ASSERT</a>(condition)   {if (!(condition)) {<a class="el" href="namespace_json.html#a27613326e9e36bbfe04a905ac90caa91">Json::throwLogicError</a>( "assert json failed" );}}</td></tr> <tr class="memdesc:a188941dcc789ccb6539c3d6f41405582"><td class="mdescLeft"> </td><td class="mdescRight">It should not be possible for a maliciously designed file to cause an abort() or seg-fault, so these macros are used only for pre-condition violations and internal logic errors. <a href="#a188941dcc789ccb6539c3d6f41405582">More...</a><br /></td></tr> <tr class="separator:a188941dcc789ccb6539c3d6f41405582"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67007439f94bc6afc465923f56147ba1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="assertions_8h.html#a67007439f94bc6afc465923f56147ba1">JSON_FAIL_MESSAGE</a>(message)</td></tr> <tr class="separator:a67007439f94bc6afc465923f56147ba1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad7facdeeca0f495765e3b204c265eadb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="assertions_8h.html#ad7facdeeca0f495765e3b204c265eadb">JSON_ASSERT_MESSAGE</a>(condition, message)</td></tr> <tr class="separator:ad7facdeeca0f495765e3b204c265eadb"><td class="memSeparator" colspan="2"> </td></tr> </table> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a188941dcc789ccb6539c3d6f41405582"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define JSON_ASSERT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">condition</td><td>)</td> <td>   {if (!(condition)) {<a class="el" href="namespace_json.html#a27613326e9e36bbfe04a905ac90caa91">Json::throwLogicError</a>( "assert json failed" );}}</td> </tr> </table> </div><div class="memdoc"> <p>It should not be possible for a maliciously designed file to cause an abort() or seg-fault, so these macros are used only for pre-condition violations and internal logic errors. </p> <p>Definition at line <a class="el" href="assertions_8h_source.html#l00023">23</a> of file <a class="el" href="assertions_8h_source.html">assertions.h</a>.</p> </div> </div> <a class="anchor" id="ad7facdeeca0f495765e3b204c265eadb"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define JSON_ASSERT_MESSAGE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">condition, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">message </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">if</span> (!(condition)) { <a class="code" href="assertions_8h.html#a67007439f94bc6afc465923f56147ba1">\</a></div> <div class="line"><a class="code" href="assertions_8h.html#a67007439f94bc6afc465923f56147ba1"> JSON_FAIL_MESSAGE</a>(message); \</div> <div class="line"> }</div> <div class="ttc" id="assertions_8h_html_a67007439f94bc6afc465923f56147ba1"><div class="ttname"><a href="assertions_8h.html#a67007439f94bc6afc465923f56147ba1">JSON_FAIL_MESSAGE</a></div><div class="ttdeci">#define JSON_FAIL_MESSAGE(message)</div><div class="ttdef"><b>Definition:</b> <a href="assertions_8h_source.html#l00026">assertions.h:26</a></div></div> </div><!-- fragment --> <p>Definition at line <a class="el" href="assertions_8h_source.html#l00049">49</a> of file <a class="el" href="assertions_8h_source.html">assertions.h</a>.</p> <p>Referenced by <a class="el" href="json__value_8cpp_source.html#l00582">Json::Value::asCString()</a>, <a class="el" href="json__value_8cpp_source.html#l00636">Json::Value::asInt()</a>, <a class="el" href="json__value_8cpp_source.html#l00682">Json::Value::asInt64()</a>, <a class="el" href="json__value_8cpp_source.html#l00658">Json::Value::asUInt()</a>, <a class="el" href="json__value_8cpp_source.html#l00703">Json::Value::asUInt64()</a>, <a class="el" href="json__value_8cpp_source.html#l00870">Json::Value::clear()</a>, <a class="el" href="json__value_8cpp_source.html#l00102">Json::duplicateAndPrefixStringValue()</a>, <a class="el" href="json__value_8cpp_source.html#l01003">Json::Value::find()</a>, <a class="el" href="json__value_8cpp_source.html#l01155">Json::Value::getMemberNames()</a>, <a class="el" href="json__value_8cpp_source.html#l00904">Json::Value::operator[]()</a>, <a class="el" href="json__value_8cpp_source.html#l01089">Json::Value::removeMember()</a>, and <a class="el" href="json__value_8cpp_source.html#l00886">Json::Value::resize()</a>.</p> </div> </div> <a class="anchor" id="a67007439f94bc6afc465923f56147ba1"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define JSON_FAIL_MESSAGE</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">message</td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line">{ \</div> <div class="line"> std::ostringstream oss; oss << message; <a class="code" href="namespace_json.html#a27613326e9e36bbfe04a905ac90caa91">\</a></div> <div class="line"><a class="code" href="namespace_json.html#a27613326e9e36bbfe04a905ac90caa91"> Json::throwLogicError</a>(oss.str()); \</div> <div class="line"> abort(); \</div> <div class="line"> }</div> <div class="ttc" id="namespace_json_html_a27613326e9e36bbfe04a905ac90caa91"><div class="ttname"><a href="namespace_json.html#a27613326e9e36bbfe04a905ac90caa91">Json::throwLogicError</a></div><div class="ttdeci">void throwLogicError(std::string const &msg)</div><div class="ttdoc">used internally </div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00174">json_value.cpp:174</a></div></div> </div><!-- fragment --> <p>Definition at line <a class="el" href="assertions_8h_source.html#l00026">26</a> of file <a class="el" href="assertions_8h_source.html">assertions.h</a>.</p> <p>Referenced by <a class="el" href="json__value_8cpp_source.html#l00785">Json::Value::asBool()</a>, <a class="el" href="json__value_8cpp_source.html#l00741">Json::Value::asDouble()</a>, <a class="el" href="json__value_8cpp_source.html#l00763">Json::Value::asFloat()</a>, <a class="el" href="json__value_8cpp_source.html#l00636">Json::Value::asInt()</a>, <a class="el" href="json__value_8cpp_source.html#l00682">Json::Value::asInt64()</a>, <a class="el" href="json__value_8cpp_source.html#l00601">Json::Value::asString()</a>, <a class="el" href="json__value_8cpp_source.html#l00658">Json::Value::asUInt()</a>, and <a class="el" href="json__value_8cpp_source.html#l00703">Json::Value::asUInt64()</a>.</p> </div> </div> </div><!-- contents --> <hr> </body> </html>