<!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::UUID 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="structcrashpad_1_1UUID.html">UUID</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_1UUID-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">crashpad::UUID Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A universally unique identifier (UUID).  
 <a href="structcrashpad_1_1UUID.html#details">More...</a></p>

<p><code>#include &quot;util/misc/uuid.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:aa1d13714e81f4a19308d408d922082ce"><td class="memItemLeft" align="right" valign="top"><a id="aa1d13714e81f4a19308d408d922082ce"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="structcrashpad_1_1UUID.html">UUID</a> &amp;that) const</td></tr>
<tr class="separator:aa1d13714e81f4a19308d408d922082ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab86bad3713d1572dc85e9d14a34a7192"><td class="memItemLeft" align="right" valign="top"><a id="ab86bad3713d1572dc85e9d14a34a7192"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="structcrashpad_1_1UUID.html">UUID</a> &amp;that) const</td></tr>
<tr class="separator:ab86bad3713d1572dc85e9d14a34a7192"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0e2b1779dff0f51bacb90a12a5cabce"><td class="memItemLeft" align="right" valign="top"><a id="ab0e2b1779dff0f51bacb90a12a5cabce"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#ab0e2b1779dff0f51bacb90a12a5cabce">InitializeToZero</a> ()</td></tr>
<tr class="memdesc:ab0e2b1779dff0f51bacb90a12a5cabce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the UUID to zero. <br /></td></tr>
<tr class="separator:ab0e2b1779dff0f51bacb90a12a5cabce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc8f2ac33af88d762a6b7575971cca58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#adc8f2ac33af88d762a6b7575971cca58">InitializeFromBytes</a> (const uint8_t *bytes)</td></tr>
<tr class="memdesc:adc8f2ac33af88d762a6b7575971cca58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the UUID from a sequence of bytes.  <a href="structcrashpad_1_1UUID.html#adc8f2ac33af88d762a6b7575971cca58">More...</a><br /></td></tr>
<tr class="separator:adc8f2ac33af88d762a6b7575971cca58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac048cf2b1060c2203897c03858377184"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#ac048cf2b1060c2203897c03858377184">InitializeFromString</a> (const base::StringPiece &amp;string)</td></tr>
<tr class="memdesc:ac048cf2b1060c2203897c03858377184"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the UUID from a RFC 4122 §3 formatted string.  <a href="structcrashpad_1_1UUID.html#ac048cf2b1060c2203897c03858377184">More...</a><br /></td></tr>
<tr class="separator:ac048cf2b1060c2203897c03858377184"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a11b91acc868144443d408adcdcab6"><td class="memItemLeft" align="right" valign="top"><a id="a56a11b91acc868144443d408adcdcab6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>InitializeFromString</b> (const base::StringPiece16 &amp;string)</td></tr>
<tr class="separator:a56a11b91acc868144443d408adcdcab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb93de9035e993726b07e3654640b860"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#abb93de9035e993726b07e3654640b860">InitializeWithNew</a> ()</td></tr>
<tr class="memdesc:abb93de9035e993726b07e3654640b860"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the UUID using a standard system facility to generate the value.  <a href="structcrashpad_1_1UUID.html#abb93de9035e993726b07e3654640b860">More...</a><br /></td></tr>
<tr class="separator:abb93de9035e993726b07e3654640b860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06925d567ffcc907c4cd6adc2c86ff96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#a06925d567ffcc907c4cd6adc2c86ff96">InitializeFromSystemUUID</a> (const ::<a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *system_uuid)</td></tr>
<tr class="memdesc:a06925d567ffcc907c4cd6adc2c86ff96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the UUID from a system <code><a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID).">UUID</a></code> or <code>GUID</code> structure.  <a href="structcrashpad_1_1UUID.html#a06925d567ffcc907c4cd6adc2c86ff96">More...</a><br /></td></tr>
<tr class="separator:a06925d567ffcc907c4cd6adc2c86ff96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bf420363950dd85c017694ac96e29f5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#a4bf420363950dd85c017694ac96e29f5">ToString</a> () const</td></tr>
<tr class="memdesc:a4bf420363950dd85c017694ac96e29f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats the UUID per RFC 4122 §3.  <a href="structcrashpad_1_1UUID.html#a4bf420363950dd85c017694ac96e29f5">More...</a><br /></td></tr>
<tr class="separator:a4bf420363950dd85c017694ac96e29f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7786c734ac9476443030ceeebc9c8d0b"><td class="memItemLeft" align="right" valign="top"><a id="a7786c734ac9476443030ceeebc9c8d0b"></a>
base::string16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcrashpad_1_1UUID.html#a7786c734ac9476443030ceeebc9c8d0b">ToString16</a> () const</td></tr>
<tr class="memdesc:a7786c734ac9476443030ceeebc9c8d0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The same as ToString, but returned as a string16. <br /></td></tr>
<tr class="separator:a7786c734ac9476443030ceeebc9c8d0b"><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:a84f20b78160b488b12e1962761a5b905"><td class="memItemLeft" align="right" valign="top"><a id="a84f20b78160b488b12e1962761a5b905"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>data_1</b></td></tr>
<tr class="separator:a84f20b78160b488b12e1962761a5b905"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad987671b480932c3fe7aa35994a1f2a6"><td class="memItemLeft" align="right" valign="top"><a id="ad987671b480932c3fe7aa35994a1f2a6"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>data_2</b></td></tr>
<tr class="separator:ad987671b480932c3fe7aa35994a1f2a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade468e8bdc5d0dfa7e7d0383fc79d032"><td class="memItemLeft" align="right" valign="top"><a id="ade468e8bdc5d0dfa7e7d0383fc79d032"></a>
uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>data_3</b></td></tr>
<tr class="separator:ade468e8bdc5d0dfa7e7d0383fc79d032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07879efe214b4929a3c5558952f09614"><td class="memItemLeft" align="right" valign="top"><a id="a07879efe214b4929a3c5558952f09614"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>data_4</b> [2]</td></tr>
<tr class="separator:a07879efe214b4929a3c5558952f09614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6610e6dfbb8829bbcd5f034b974df9e6"><td class="memItemLeft" align="right" valign="top"><a id="a6610e6dfbb8829bbcd5f034b974df9e6"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><b>data_5</b> [6]</td></tr>
<tr class="separator:a6610e6dfbb8829bbcd5f034b974df9e6"><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>A universally unique identifier (UUID). </p>
<p>An alternate term for UUID is “globally unique identifier” (GUID), used primarily by Microsoft.</p>
<p>A UUID is a unique 128-bit number specified by RFC 4122.</p>
<p>This is a POD structure. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="adc8f2ac33af88d762a6b7575971cca58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc8f2ac33af88d762a6b7575971cca58">&#9670;&nbsp;</a></span>InitializeFromBytes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::UUID::InitializeFromBytes </td>
          <td>(</td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>bytes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the UUID from a sequence of bytes. </p>
<p><em>bytes</em> is taken as a UUID laid out in big-endian format in memory. On little-endian machines, appropriate byte-swapping will be performed to initialize an object’s data members.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">bytes</td><td>A buffer of exactly 16 bytes that will be assigned to the UUID. </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::UUID::InitializeFromString </td>
          <td>(</td>
          <td class="paramtype">const base::StringPiece &amp;&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the UUID from a RFC 4122 §3 formatted string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">string</td><td>A string of the form <code>"00112233-4455-6677-8899-aabbccddeeff"</code>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the string was formatted correctly and the object has been initialized with the data. <code>false</code> if the string could not be parsed, with the object state untouched. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void crashpad::UUID::InitializeFromSystemUUID </td>
          <td>(</td>
          <td class="paramtype">const ::<a class="el" href="structcrashpad_1_1UUID.html">UUID</a> *&#160;</td>
          <td class="paramname"><em>system_uuid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the UUID from a system <code><a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID).">UUID</a></code> or <code>GUID</code> structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">system_uuid</td><td>A system <code><a class="el" href="structcrashpad_1_1UUID.html" title="A universally unique identifier (UUID).">UUID</a></code> or <code>GUID</code> structure. </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool crashpad::UUID::InitializeWithNew </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the UUID using a standard system facility to generate the value. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the UUID was initialized correctly, <code>false</code> otherwise with a message logged. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string crashpad::UUID::ToString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Formats the UUID per RFC 4122 §3. </p>
<dl class="section return"><dt>Returns</dt><dd>A string of the form <code>"00112233-4455-6677-8899-aabbccddeeff"</code>. </dd></dl>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>util/misc/uuid.h</li>
<li>util/misc/uuid.cc</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>
