[#bsl-hashAppend-072]
= xref:bsl.adoc[bsl]::hashAppend
:relfileprefix: ../
:mrdocs:

`hashAppend` overloads

== Synopses

Declared in `&lt;bslstl&lowbar;optional&period;h&gt;`

Pass the specified `object` to the specified `hashAlg`&period; This function integrates with the `bslh` modular hashing system and effectively provides a `bsl&colon;&colon;hash` specialization for `type&lowbar;index`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class HASHALG&gt;
void
xref:bsl/hashAppend-08.adoc[hashAppend](
    HASHALG& hashAlg,
    xref:bsl/type_index.adoc[type&lowbar;index] const& object);
----

[.small]#xref:bsl/hashAppend-08.adoc[_» more&period;&period;&period;_]#

Pass the address of the object referred to by the specified `input` shared pointer to the specified `hashAlg` hashing algorithm of (template parameter) type `HASHALG`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class HASHALG,
    class ELEMENT&lowbar;TYPE&gt;
void
xref:bsl/hashAppend-076.adoc[hashAppend](
    HASHALG& hashAlg,
    xref:bsl/shared_ptr-0a.adoc[shared&lowbar;ptr&lt;ELEMENT&lowbar;TYPE&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-076.adoc[_» more&period;&period;&period;_]#

Pass the specified `input` to the specified `hashAlg`, where `hashAlg` is a hashing algorithm&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class t&lowbar;HASHALG,
    class t&lowbar;TYPE&gt;
void
xref:bsl/hashAppend-03.adoc[hashAppend](
    t&lowbar;HASHALG& hashAlg,
    xref:bsl/optional-072.adoc[optional&lt;t&lowbar;TYPE&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-03.adoc[_» more&period;&period;&period;_]#

Pass the specified `input` to the specified `hashAlg`


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class HASHALG,
    class T1,
    class T2&gt;
void
xref:bsl/hashAppend-070.adoc[hashAppend](
    HASHALG& hashAlg,
    xref:bsl/pair-0b.adoc[pair&lt;T1, T2&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-070.adoc[_» more&period;&period;&period;_]#

Pass the specified `input` to the specified `hashAlg`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class HASHALG,
    class VALUE&lowbar;TYPE,
    class ALLOCATOR&gt;
void
xref:bsl/hashAppend-09.adoc[hashAppend](
    HASHALG& hashAlg,
    xref:bsl/vector-00d.adoc[vector&lt;VALUE&lowbar;TYPE, ALLOCATOR&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-09.adoc[_» more&period;&period;&period;_]#

Pass the specified `input` to the specified `hashAlg`, where `hashAlg` is a hashing algorithm&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class t&lowbar;HASHALG,
    class t&lowbar;HEAD,
    class&period;&period;&period; t&lowbar;TAIL&gt;
void
xref:bsl/hashAppend-01.adoc[hashAppend](
    t&lowbar;HASHALG& hashAlg,
    xref:bsl/variant.adoc[variant&lt;t&lowbar;HEAD, t&lowbar;TAIL&period;&period;&period;&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-01.adoc[_» more&period;&period;&period;_]#

Pass the specified `input` string to the specified `hashAlg` hashing algorithm of the (template parameter) type `HASHALG`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class HASHALG,
    class CHAR&lowbar;TYPE,
    class CHAR&lowbar;TRAITS,
    class ALLOCATOR&gt;
void
xref:bsl/hashAppend-0f.adoc[hashAppend](
    HASHALG& hashAlg,
    xref:bsl/basic_string-0faf.adoc[basic&lowbar;string&lt;CHAR&lowbar;TYPE, CHAR&lowbar;TRAITS, ALLOCATOR&gt;] const& input);
----

[.small]#xref:bsl/hashAppend-0f.adoc[_» more&period;&period;&period;_]#


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