<!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.9.1"/>
<title>JSON for Modern C++: nlohmann::basic_json::json_value::array</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="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="mylayout.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">JSON for Modern C++
   &#160;<span id="projectnumber">3.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <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>
      </li>
    </ul>
  </div>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacenlohmann.html">nlohmann</a></li><li class="navelem"><a class="el" href="classnlohmann_1_1basic__json.html">basic_json</a></li><li class="navelem"><a class="el" href="unionnlohmann_1_1basic__json_1_1json__value.html">json_value</a></li>  </ul>
</div>
</div><!-- top -->
<div class="contents">
<table cellspacing="0" cellpadding="0" border="0">
  <tr>
   <td valign="top">
      <div class="navtab">
        <table>
          <tr><td class="navtab"><a class="qindexHL" href="unionnlohmann_1_1basic__json_1_1json__value_a9b0c0f7dc2ddb9fa9101a287b233a8b2.html#a9b0c0f7dc2ddb9fa9101a287b233a8b2">array</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a9bd260b1ff2f03572dcc84c179a6a37c.html#a9bd260b1ff2f03572dcc84c179a6a37c">boolean</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_ac6fa840d0f9cefd1f064e371a369d3bf.html#ac6fa840d0f9cefd1f064e371a369d3bf">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_af432b12c2a45a123ae7404588d889af7.html#af432b12c2a45a123ae7404588d889af7">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a4351a2387d3eef1c1ecea5c9c8efb92d.html#a4351a2387d3eef1c1ecea5c9c8efb92d">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a10dd4f2f978cdcbb3be850dc8f3351d6.html#a10dd4f2f978cdcbb3be850dc8f3351d6">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a231c96961c674bebfb14d3f50bb57703.html#a231c96961c674bebfb14d3f50bb57703">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a592a4d5dfca10aa2bf033641b9ee050f.html#a592a4d5dfca10aa2bf033641b9ee050f">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a3a2fa91f7daaca8a07963755eea1580d.html#a3a2fa91f7daaca8a07963755eea1580d">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_ac051d54557c5cf079925b810c0e16e1e.html#ac051d54557c5cf079925b810c0e16e1e">json_value</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a329c53042b9ba5c73512da4c780f2f2c.html#a329c53042b9ba5c73512da4c780f2f2c">number_float</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a874e1bed30eee7847d34d8f410114cbc.html#a874e1bed30eee7847d34d8f410114cbc">number_integer</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_a4ff9894ccb1eca08ba1c49eec70ee2f5.html#a4ff9894ccb1eca08ba1c49eec70ee2f5">object</a></td></tr>
          <tr><td class="navtab"><a class="qindex" href="unionnlohmann_1_1basic__json_1_1json__value_ab2c1e8a4ef5293eb86e9a6c03fbb5610.html#ab2c1e8a4ef5293eb86e9a6c03fbb5610">string</a></td></tr>
        </table>
      </div>
   </td>
   <td valign="top" class="mempage">
<a class="anchor" id="a9b0c0f7dc2ddb9fa9101a287b233a8b2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;template&lt; typename U, typename V, typename...Args &gt; class ObjectType = std::map, template&lt; typename U, typename...Args &gt; class ArrayType = std::vector, class StringType  = std::string, class BooleanType  = bool, class NumberIntegerType  = int64_t, class NumberFloatType  = double, template&lt; typename U &gt; class AllocatorType = std::allocator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classnlohmann_1_1basic__json_ac82abedf356d252e0589850c3d8b35ba.html#ac82abedf356d252e0589850c3d8b35ba">array_t</a>* <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::json_value::array</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
    </td>
  </tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jun 24 2015 15:16:45 for JSON for Modern C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
