<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>datasketches-cpp: XXHash64 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" />
</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 id="projectrow">
  <td id="projectalign">
   <div id="projectname">datasketches-cpp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classXXHash64-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">XXHash64 Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>XXHash (64 bit), based on Yann Collet's descriptions, see <a href="http://cyan4973.github.io/xxHash/">http://cyan4973.github.io/xxHash/</a>.  
 <a href="classXXHash64.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="xxhash64_8h_source.html">xxhash64.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa066dac9f05cdf8b1adb49e12c64f54b" id="r_aa066dac9f05cdf8b1adb49e12c64f54b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXXHash64.html#aa066dac9f05cdf8b1adb49e12c64f54b">XXHash64</a> (uint64_t seed)</td></tr>
<tr class="memdesc:aa066dac9f05cdf8b1adb49e12c64f54b"><td class="mdescLeft">&#160;</td><td class="mdescRight">create new XXHash (64 bit)  <br /></td></tr>
<tr class="separator:aa066dac9f05cdf8b1adb49e12c64f54b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa231dc8a2cb1804f69c1187e09ef5d69" id="r_aa231dc8a2cb1804f69c1187e09ef5d69"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXXHash64.html#aa231dc8a2cb1804f69c1187e09ef5d69">add</a> (const void *input, uint64_t length)</td></tr>
<tr class="memdesc:aa231dc8a2cb1804f69c1187e09ef5d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">add a chunk of bytes  <br /></td></tr>
<tr class="separator:aa231dc8a2cb1804f69c1187e09ef5d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35b9406690383f9b794082192db9f109" id="r_a35b9406690383f9b794082192db9f109"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXXHash64.html#a35b9406690383f9b794082192db9f109">hash</a> () const</td></tr>
<tr class="memdesc:a35b9406690383f9b794082192db9f109"><td class="mdescLeft">&#160;</td><td class="mdescRight">get current hash  <br /></td></tr>
<tr class="separator:a35b9406690383f9b794082192db9f109"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a725b2abf9eb0d100fc6a53d63fbfe2ef" id="r_a725b2abf9eb0d100fc6a53d63fbfe2ef"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXXHash64.html#a725b2abf9eb0d100fc6a53d63fbfe2ef">hash</a> (const void *input, uint64_t length, uint64_t seed)</td></tr>
<tr class="memdesc:a725b2abf9eb0d100fc6a53d63fbfe2ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">combine constructor, <a class="el" href="classXXHash64.html#aa231dc8a2cb1804f69c1187e09ef5d69" title="add a chunk of bytes">add()</a> and <a class="el" href="classXXHash64.html#a35b9406690383f9b794082192db9f109" title="get current hash">hash()</a> in one static function (C style)  <br /></td></tr>
<tr class="separator:a725b2abf9eb0d100fc6a53d63fbfe2ef"><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>XXHash (64 bit), based on Yann Collet's descriptions, see <a href="http://cyan4973.github.io/xxHash/">http://cyan4973.github.io/xxHash/</a>. </p>
<p>How to use: uint64_t myseed = 0; <a class="el" href="classXXHash64.html" title="XXHash (64 bit), based on Yann Collet&#39;s descriptions, see http://cyan4973.github.io/xxHash/.">XXHash64</a> myhash(myseed); myhash.add(pointerToSomeBytes,     numberOfBytes); myhash.add(pointerToSomeMoreBytes, numberOfMoreBytes); // call <a class="el" href="classXXHash64.html#aa231dc8a2cb1804f69c1187e09ef5d69" title="add a chunk of bytes">add()</a> as often as you like to ... and compute hash: uint64_t result = myhash.hash();</p>
<p>or all of the above in one single line: uint64_t result2 = XXHash64::hash(mypointer, numBytes, myseed);</p>
<p>Note: my code is NOT endian-aware ! </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa066dac9f05cdf8b1adb49e12c64f54b" name="aa066dac9f05cdf8b1adb49e12c64f54b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa066dac9f05cdf8b1adb49e12c64f54b">&#9670;&#160;</a></span>XXHash64()</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="classXXHash64.html">XXHash64</a> </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>seed</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>create new XXHash (64 bit) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">seed</td><td>your seed value, even zero is a valid seed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa231dc8a2cb1804f69c1187e09ef5d69" name="aa231dc8a2cb1804f69c1187e09ef5d69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa231dc8a2cb1804f69c1187e09ef5d69">&#9670;&#160;</a></span>add()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool add </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></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>add a chunk of bytes </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>pointer to a continuous block of data </td></tr>
    <tr><td class="paramname">length</td><td>number of bytes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if parameters are invalid / zero </dd></dl>

</div>
</div>
<a id="a35b9406690383f9b794082192db9f109" name="a35b9406690383f9b794082192db9f109"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35b9406690383f9b794082192db9f109">&#9670;&#160;</a></span>hash() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t hash </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>get current hash </p>
<dl class="section return"><dt>Returns</dt><dd>64 bit XXHash </dd></dl>

</div>
</div>
<a id="a725b2abf9eb0d100fc6a53d63fbfe2ef" name="a725b2abf9eb0d100fc6a53d63fbfe2ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a725b2abf9eb0d100fc6a53d63fbfe2ef">&#9670;&#160;</a></span>hash() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint64_t hash </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>input</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>seed</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>combine constructor, <a class="el" href="classXXHash64.html#aa231dc8a2cb1804f69c1187e09ef5d69" title="add a chunk of bytes">add()</a> and <a class="el" href="classXXHash64.html#a35b9406690383f9b794082192db9f109" title="get current hash">hash()</a> in one static function (C style) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>pointer to a continuous block of data </td></tr>
    <tr><td class="paramname">length</td><td>number of bytes </td></tr>
    <tr><td class="paramname">seed</td><td>your seed value, e.g. zero is a valid seed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>64 bit XXHash </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>common/include/<a class="el" href="xxhash64_8h_source.html">xxhash64.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
