<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Crashpad: crashpad::TSimpleStringDictionary&lt; KeySize, ValueSize, NumEntries &gt;::Entry Struct 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="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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="crashpad_doxygen.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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Crashpad
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<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>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></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="namespacecrashpad.html">crashpad</a></li><li class="navelem"><a class="el" href="classcrashpad_1_1TSimpleStringDictionary.html">TSimpleStringDictionary</a></li><li class="navelem"><a class="el" href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html">Entry</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::TSimpleStringDictionary&lt; KeySize, ValueSize, NumEntries &gt;::Entry Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A single entry in the map.  
 <a href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#details">More...</a></p>

<p><code>#include &quot;client/simple_string_dictionary.h&quot;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a008eb0a217af47d7c59596947bb83fd3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#a008eb0a217af47d7c59596947bb83fd3">is_active</a> () const</td></tr>
<tr class="memdesc:a008eb0a217af47d7c59596947bb83fd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the validity of the entry.  <a href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#a008eb0a217af47d7c59596947bb83fd3">More...</a><br /></td></tr>
<tr class="separator:a008eb0a217af47d7c59596947bb83fd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ac3f80433c4f089b1e91aaabd74559cdc"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#ac3f80433c4f089b1e91aaabd74559cdc">key</a> [KeySize]</td></tr>
<tr class="memdesc:ac3f80433c4f089b1e91aaabd74559cdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The entry’s key.  <a href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#ac3f80433c4f089b1e91aaabd74559cdc">More...</a><br /></td></tr>
<tr class="separator:ac3f80433c4f089b1e91aaabd74559cdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7fa75c478ce69d42354a046327fe658"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#af7fa75c478ce69d42354a046327fe658">value</a> [ValueSize]</td></tr>
<tr class="memdesc:af7fa75c478ce69d42354a046327fe658"><td class="mdescLeft">&#160;</td><td class="mdescRight">The entry’s value.  <a href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#af7fa75c478ce69d42354a046327fe658">More...</a><br /></td></tr>
<tr class="separator:af7fa75c478ce69d42354a046327fe658"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;size_t KeySize = 256, size_t ValueSize = 256, size_t NumEntries = 64&gt;<br />
struct crashpad::TSimpleStringDictionary&lt; KeySize, ValueSize, NumEntries &gt;::Entry</h3>

<p>A single entry in the map. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a008eb0a217af47d7c59596947bb83fd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a008eb0a217af47d7c59596947bb83fd3">&#9670;&nbsp;</a></span>is_active()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t KeySize = 256, size_t ValueSize = 256, size_t NumEntries = 64&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classcrashpad_1_1TSimpleStringDictionary.html">crashpad::TSimpleStringDictionary</a>&lt; KeySize, ValueSize, NumEntries &gt;::Entry::is_active </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the validity of the entry. </p>
<p>If <a class="el" href="structcrashpad_1_1TSimpleStringDictionary_1_1Entry.html#ac3f80433c4f089b1e91aaabd74559cdc" title="The entry’s key.">key</a> is an empty string, the entry is considered inactive, and this method returns <code>false</code>. Otherwise, returns <code>true</code>. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac3f80433c4f089b1e91aaabd74559cdc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3f80433c4f089b1e91aaabd74559cdc">&#9670;&nbsp;</a></span>key</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t KeySize = 256, size_t ValueSize = 256, size_t NumEntries = 64&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="classcrashpad_1_1TSimpleStringDictionary.html">crashpad::TSimpleStringDictionary</a>&lt; KeySize, ValueSize, NumEntries &gt;::Entry::key[KeySize]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The entry’s key. </p>
<p>This string is always <code>NUL</code>-terminated. If this is a 0-length <code>NUL</code>-terminated string, the entry is inactive. </p>

</div>
</div>
<a id="af7fa75c478ce69d42354a046327fe658"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7fa75c478ce69d42354a046327fe658">&#9670;&nbsp;</a></span>value</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;size_t KeySize = 256, size_t ValueSize = 256, size_t NumEntries = 64&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="classcrashpad_1_1TSimpleStringDictionary.html">crashpad::TSimpleStringDictionary</a>&lt; KeySize, ValueSize, NumEntries &gt;::Entry::value[ValueSize]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The entry’s value. </p>
<p>This string is always <code>NUL</code>-terminated. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>client/simple_string_dictionary.h</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.18
</small></address>
</body>
</html>
