<!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::InitializationState Class 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_1InitializationState.html">InitializationState</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classcrashpad_1_1InitializationState-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::InitializationState Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Tracks whether data are initialized.  
 <a href="classcrashpad_1_1InitializationState.html#details">More...</a></p>

<p><code>#include &quot;util/misc/initialization_state.h&quot;</code></p>
<div class="dynheader">
Inheritance diagram for crashpad::InitializationState:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classcrashpad_1_1InitializationState.png" usemap="#crashpad::InitializationState_map" alt=""/>
  <map id="crashpad::InitializationState_map" name="crashpad::InitializationState_map">
<area href="classcrashpad_1_1InitializationStateDcheck.html" title="Tracks whether data are initialized, triggering a DCHECK assertion on an invalid data access." alt="crashpad::InitializationStateDcheck" shape="rect" coords="0,56,207,80"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a044ea6d40e23683d6d1bb5ce30dafd88"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">State</a> : uint8_t </td></tr>
<tr class="memdesc:a044ea6d40e23683d6d1bb5ce30dafd88"><td class="mdescLeft">&#160;</td><td class="mdescRight">The object’s state.  <a href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">More...</a><br /></td></tr>
<tr class="separator:a044ea6d40e23683d6d1bb5ce30dafd88"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:ab4861661dbc0fa608adcde4fdd4c49dd"><td class="memItemLeft" align="right" valign="top"><a id="ab4861661dbc0fa608adcde4fdd4c49dd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#ab4861661dbc0fa608adcde4fdd4c49dd">is_uninitialized</a> () const</td></tr>
<tr class="memdesc:ab4861661dbc0fa608adcde4fdd4c49dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the object’s state is <a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88ab86672ada53041ffcecfb379473bf353" title="The object has not yet been initialized.">kStateUninitialized</a> and it is safe to begin initializing it. <br /></td></tr>
<tr class="separator:ab4861661dbc0fa608adcde4fdd4c49dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1ebe6fb06d227da363dad2174a8316"><td class="memItemLeft" align="right" valign="top"><a id="adb1ebe6fb06d227da363dad2174a8316"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#adb1ebe6fb06d227da363dad2174a8316">set_invalid</a> ()</td></tr>
<tr class="memdesc:adb1ebe6fb06d227da363dad2174a8316"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the object’s state to <a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88afc9011e885f6b0a93151818010eefdfc" title="The object is being initialized.">kStateInvalid</a>, marking initialization as being in process. <br /></td></tr>
<tr class="separator:adb1ebe6fb06d227da363dad2174a8316"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3c6f5b858094249317f087317ceb5a0"><td class="memItemLeft" align="right" valign="top"><a id="ae3c6f5b858094249317f087317ceb5a0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#ae3c6f5b858094249317f087317ceb5a0">set_valid</a> ()</td></tr>
<tr class="memdesc:ae3c6f5b858094249317f087317ceb5a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the object’s state to <a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88af8963ed6297bea7168911fe4ed87e163" title="The object has been initialized.">kStateValid</a>, marking it initialized. <br /></td></tr>
<tr class="separator:ae3c6f5b858094249317f087317ceb5a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad069757fa4ef312ac2307111bdf3cccb"><td class="memItemLeft" align="right" valign="top"><a id="ad069757fa4ef312ac2307111bdf3cccb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#ad069757fa4ef312ac2307111bdf3cccb">is_valid</a> () const</td></tr>
<tr class="memdesc:ad069757fa4ef312ac2307111bdf3cccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> if the the object’s state is <a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88af8963ed6297bea7168911fe4ed87e163" title="The object has been initialized.">kStateValid</a> and it has been fully initialized and may be used. <br /></td></tr>
<tr class="separator:ad069757fa4ef312ac2307111bdf3cccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a60718e8a3f45af645752090dcc1e5508"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">State</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#a60718e8a3f45af645752090dcc1e5508">state</a> () const</td></tr>
<tr class="memdesc:a60718e8a3f45af645752090dcc1e5508"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the object’s state.  <a href="classcrashpad_1_1InitializationState.html#a60718e8a3f45af645752090dcc1e5508">More...</a><br /></td></tr>
<tr class="separator:a60718e8a3f45af645752090dcc1e5508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66966875ef1a543c9b25f9cad6ae44ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcrashpad_1_1InitializationState.html#a66966875ef1a543c9b25f9cad6ae44ea">set_state</a> (<a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">State</a> <a class="el" href="classcrashpad_1_1InitializationState.html#a60718e8a3f45af645752090dcc1e5508">state</a>)</td></tr>
<tr class="memdesc:a66966875ef1a543c9b25f9cad6ae44ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the object’s state.  <a href="classcrashpad_1_1InitializationState.html#a66966875ef1a543c9b25f9cad6ae44ea">More...</a><br /></td></tr>
<tr class="separator:a66966875ef1a543c9b25f9cad6ae44ea"><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>Tracks whether data are initialized. </p>
<p>Objects of this type track whether the data they’re guarding are initialized. The three possible states are uninitialized (the initial state), initializing, and valid. As the guarded data are initialized, an <a class="el" href="classcrashpad_1_1InitializationState.html" title="Tracks whether data are initialized.">InitializationState</a> object will normally transition through these three states. A fourth state corresponds to the destruction of objects of this type, making it less likely that a use-after-free of an <a class="el" href="classcrashpad_1_1InitializationState.html" title="Tracks whether data are initialized.">InitializationState</a> object will appear in the valid state.</p>
<p>If the only purpose for tracking the initialization state of guarded data is to DCHECK when the object is in an unexpected state, use <a class="el" href="classcrashpad_1_1InitializationStateDcheck.html" title="Tracks whether data are initialized, triggering a DCHECK assertion on an invalid data access.">InitializationStateDcheck</a> instead. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a044ea6d40e23683d6d1bb5ce30dafd88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a044ea6d40e23683d6d1bb5ce30dafd88">&#9670;&nbsp;</a></span>State</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">crashpad::InitializationState::State</a> : uint8_t</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The object’s state. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a044ea6d40e23683d6d1bb5ce30dafd88ab86672ada53041ffcecfb379473bf353"></a>kStateUninitialized&#160;</td><td class="fielddoc"><p>The object has not yet been initialized. </p>
</td></tr>
<tr><td class="fieldname"><a id="a044ea6d40e23683d6d1bb5ce30dafd88afc9011e885f6b0a93151818010eefdfc"></a>kStateInvalid&#160;</td><td class="fielddoc"><p>The object is being initialized. </p>
<pre class="fragment">This state protects against attempted reinitializaton of
partially-initialized objects whose initial initialization attempt
failed. This state is to be used while objects are initializing, but are
not yet fully initialized. 
</pre> </td></tr>
<tr><td class="fieldname"><a id="a044ea6d40e23683d6d1bb5ce30dafd88af8963ed6297bea7168911fe4ed87e163"></a>kStateValid&#160;</td><td class="fielddoc"><p>The object has been initialized. </p>
</td></tr>
<tr><td class="fieldname"><a id="a044ea6d40e23683d6d1bb5ce30dafd88a154e684eaf09255b9667c2f5a16862f1"></a>kStateDestroyed&#160;</td><td class="fielddoc"><p>The object has been destroyed. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a66966875ef1a543c9b25f9cad6ae44ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66966875ef1a543c9b25f9cad6ae44ea">&#9670;&nbsp;</a></span>set_state()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::InitializationState::set_state </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">State</a>&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the object’s state. </p>
<p>Consumers of this class should use a set_state_*() method instead. </p>

</div>
</div>
<a id="a60718e8a3f45af645752090dcc1e5508"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60718e8a3f45af645752090dcc1e5508">&#9670;&nbsp;</a></span>state()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88">State</a> crashpad::InitializationState::state </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 class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the object’s state. </p>
<p>Consumers of this class should use an is_state_*() method instead. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>util/misc/initialization_state.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>
