[#BloombergLP-bslh-SipHashAlgorithm]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslh.adoc[bslh]::SipHashAlgorithm
:relfileprefix: ../../
:mrdocs:

This class wraps an implementation of the &quot;SipHash&quot; algorithm in an interface that is usable in the modular hashing system in `bslh`&period;

== Synopsis

Declared in `&lt;bslh&lowbar;siphashalgorithm&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class SipHashAlgorithm;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslh/SipHashAlgorithm/result_type.adoc[`result&lowbar;type`] 
| Typedef indicating the value type returned by this algorithm&period;
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslh/SipHashAlgorithm/_04enum.adoc[`Unnamed enum`] 
| Compile&hyphen;time constants for the SipHash algorithm&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslh/SipHashAlgorithm/2constructor.adoc[`SipHashAlgorithm`]         [.small]#[constructor]#
| Create a `bslh&colon;&colon;SipHashAlgorithm` seeded with the specified `seed`&period;
| xref:BloombergLP/bslh/SipHashAlgorithm/computeHash.adoc[`computeHash`] 
| Return the finalized hash value accumulated by this algorithm&period;
| xref:BloombergLP/bslh/SipHashAlgorithm/operator_call.adoc[`operator()`] 
| Incorporate the specified `data` of `numBytes` into the hash state&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslh/SipHashAlgorithm/d_alignment.adoc[`d&lowbar;alignment`] [.small]#[variant member]#
| Ensures proper alignment for buffered data&period;
| xref:BloombergLP/bslh/SipHashAlgorithm/d_buf.adoc[`d&lowbar;buf`] [.small]#[variant member]#
| Used to buffer data until we have enough to do a full round of computation as specified by the algorithm&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
