[#HashedSourceWriter]
= HashedSourceWriter
:mrdocs:

Writes data to an underlying source stream, while hashing the written data&period;

== Synopsis

Declared in `&lt;hash&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;typename Source&gt;
class HashedSourceWriter
    : public xref:HashWriter.adoc[HashWriter]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:HashWriter.adoc[HashWriter]`
| A writer stream (for serialization) that computes a 256&hyphen;bit hash&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:HashedSourceWriter/2constructor.adoc[`HashedSourceWriter`]         [.small]#[constructor]#
| Constructs a writer that writes to and hashes an underlying source&period;
| xref:HashWriter/GetCheapHash.adoc[`GetCheapHash`] 
| Returns the first 64 bits from the resulting hash&period;
| xref:HashWriter/GetHash.adoc[`GetHash`] 
| Compute the double&hyphen;SHA256 hash of all data written to this object&period;
| xref:HashWriter/GetSHA256.adoc[`GetSHA256`] 
| Compute the SHA256 hash of all data written to this object&period;
| xref:HashedSourceWriter/write.adoc[`write`] 
| Writes bytes to the source and feeds them into the hash&period;
| xref:HashedSourceWriter/operator_lshift.adoc[`operator&lt;&lt;`] 
| Serializes an object to the source, hashing the bytes written&period;
|===



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