<!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::string</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="qindex" 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="qindexHL" 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="ab2c1e8a4ef5293eb86e9a6c03fbb5610"></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_ace8338e57fdb11e1955c2a0c2d782069.html#ace8338e57fdb11e1955c2a0c2d782069">string_t</a>* <a class="el" href="classnlohmann_1_1basic__json.html">nlohmann::basic_json</a>::json_value::string</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>
