<areahref="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"/>
<trclass="memdesc:ab4861661dbc0fa608adcde4fdd4c49dd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns <code>true</code> if the object’s state is <aclass="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>
<trclass="memdesc:adb1ebe6fb06d227da363dad2174a8316"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the object’s state to <aclass="el"href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88afc9011e885f6b0a93151818010eefdfc"title="The object is being initialized. ">kStateInvalid</a>, marking initialization as being in process. <br/></td></tr>
<trclass="memdesc:ae3c6f5b858094249317f087317ceb5a0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the object’s state to <aclass="el"href="classcrashpad_1_1InitializationState.html#a044ea6d40e23683d6d1bb5ce30dafd88af8963ed6297bea7168911fe4ed87e163"title="The object has been initialized. ">kStateValid</a>, marking it initialized. <br/></td></tr>
<trclass="memdesc:ad069757fa4ef312ac2307111bdf3cccb"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns <code>true</code> if the the object’s state is <aclass="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>
<trclass="memdesc:a60718e8a3f45af645752090dcc1e5508"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the object’s state. <ahref="#a60718e8a3f45af645752090dcc1e5508">More...</a><br/></td></tr>
<trclass="memdesc:a66966875ef1a543c9b25f9cad6ae44ea"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the object’s state. <ahref="#a66966875ef1a543c9b25f9cad6ae44ea">More...</a><br/></td></tr>
<divclass="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 <aclass="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 <aclass="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 <aclass="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>
<tr><thcolspan="2">Enumerator</th></tr><tr><tdclass="fieldname"><aid="a044ea6d40e23683d6d1bb5ce30dafd88ab86672ada53041ffcecfb379473bf353"></a>kStateUninitialized </td><tdclass="fielddoc"><p>The object has not yet been initialized. </p>
<tr><tdclass="fieldname"><aid="a044ea6d40e23683d6d1bb5ce30dafd88afc9011e885f6b0a93151818010eefdfc"></a>kStateInvalid </td><tdclass="fielddoc"><p>The object is being initialized. </p>
<p>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. </p>
<tr><tdclass="fieldname"><aid="a044ea6d40e23683d6d1bb5ce30dafd88af8963ed6297bea7168911fe4ed87e163"></a>kStateValid </td><tdclass="fielddoc"><p>The object has been initialized. </p>
<tr><tdclass="fieldname"><aid="a044ea6d40e23683d6d1bb5ce30dafd88a154e684eaf09255b9667c2f5a16862f1"></a>kStateDestroyed </td><tdclass="fielddoc"><p>The object has been destroyed. </p>