<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.Data.HashFunction.Core</name>
    </assembly>
    <members>
        <member name="T:System.Data.HashFunction.Core.HashFunctionAsyncBase">
            <summary>
            Abstract implementation of an <see cref="T:System.Data.HashFunction.IHashFunctionAsync"/>.
            Provides convenience checks and ensures a default HashSize has been set at construction.
            </summary>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionAsyncBase.ComputeHashAsync(System.IO.Stream)">
            <summary>
            Computes hash value for given stream asynchronously.
            </summary>
            <param name="data">Stream of data to hash.</param>
            <returns>
            Hash value of the data.
            </returns>
            <remarks>
            All stream IO is done via ReadAsync.
            </remarks>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be readable.;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be seekable for this type of hash function.;<paramref name="data"/></exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionAsyncBase.ComputeHashAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Computes hash value for given stream asynchronously.
            </summary>
            <param name="data">Stream of data to hash.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>
            Hash value of the data.
            </returns>
            <remarks>
            All stream IO is done via ReadAsync.
            </remarks>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be readable.;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be seekable for this type of hash function.;<paramref name="data"/></exception>
            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The <paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionAsyncBase.ComputeHashAsyncInternal(System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedDataAsync,System.Threading.CancellationToken)">
            <summary>
            Computes hash value for given stream asynchronously.
            </summary>
            <param name="data">Data to hash.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>
            Hash value of data as byte array.
            </returns>
            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The <paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="T:System.Data.HashFunction.Core.HashFunctionBase">
            <summary>
            Abstract implementation of an <see cref="T:System.Data.HashFunction.IHashFunction"/>.
            Provides convenience checks and ensures a default HashSize has been set at construction.
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.HashFunctionBase.HashSizeInBits">
            <summary>
            Size of produced hash, in bits.
            </summary>
            <value>
            The size of the hash, in bits.
            </value>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionBase.ComputeHash(System.Byte[])">
            <summary>
            Computes hash value for given byte array.
            </summary>
            <param name="data">Array of data to hash.</param>
            <returns>
            Hash value of the data.
            </returns>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionBase.ComputeHash(System.Byte[],System.Threading.CancellationToken)">
            <summary>
            Computes hash value for given byte array.
            </summary>
            <param name="data">Array of data to hash.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>
            Hash value of the data.
            </returns>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The <paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionBase.ComputeHash(System.IO.Stream)">
            <summary>
            Computes hash value for given stream.
            </summary>
            <param name="data">Stream of data to hash.</param>
            <returns>
            Hash value of the data.
            </returns>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be readable.;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be seekable for this type of hash function.;<paramref name="data"/></exception>
            <inheritdoc />
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionBase.ComputeHash(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Computes hash value for given stream.
            </summary>
            <param name="data">Stream of data to hash.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>
            Hash value of the data.
            </returns>
            <exception cref="T:System.ArgumentNullException">;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be readable.;<paramref name="data"/></exception>
            <exception cref="T:System.ArgumentException">Stream must be seekable for this type of hash function.;<paramref name="data"/></exception>
            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The <paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.HashFunctionBase.ComputeHashInternal(System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData,System.Threading.CancellationToken)">
            <summary>
            Computes hash value for given stream.
            </summary>
            <param name="data">Data to hash.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>
            Hash value of data.
            </returns>
            <exception cref="T:System.Threading.Tasks.TaskCanceledException">The <paramref name="cancellationToken"/> was canceled.</exception>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.HashValue">
            <summary>
            Implementation of <see cref="T:System.Data.HashFunction.IHashValue"/>
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.HashValue.Hash">
            <summary>
            Gets the length of the hash value in bits.
            </summary>
            <value>
            The length of the hash value bit.
            </value>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.HashValue.BitLength">
            <summary>
            Gets resulting byte array.
            </summary>
            <value>
            The hash value.
            </value>
            <remarks>
            Implementations should coerce the input hash value to be <see cref="P:System.Data.HashFunction.Core.Utilities.HashValue.BitLength"/> size in bits.
            </remarks>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.#ctor(System.Collections.Generic.IEnumerable{System.Byte},System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:System.Data.HashFunction.Core.Utilities.HashValue"/>.
            </summary>
            <param name="hash">The hash.</param>
            <param name="bitLength">Length of the hash, in bits.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="hash"/></exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bitLength"/>;bitLength must be greater than or equal to 1.</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.AsBase64String">
            <summary>
            Converts the hash value to a the base64 string.
            </summary>
            <returns>
            A base64 string representing this hash value.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.AsBitArray">
            <summary>
            Converts the hash value to a bit array.
            </summary>
            <returns>
            A <see cref="T:System.Collections.BitArray" /> instance to represent this hash value.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.AsHexString">
            <summary>
            Converts the hash value to a hexadecimal string.
            </summary>
            <returns>
            A hex string representing this hash value.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.AsHexString(System.Boolean)">
            <summary>
            Converts the hash value to a hexadecimal string.
            </summary>
            <param name="uppercase"><c>true</c> if the result should use uppercase hex values; otherwise <c>false</c>.</param>
            <returns>
            A hex string representing this hash value.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" />, is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.Equals(System.Data.HashFunction.IHashValue)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            <c>true</c> if the current object is equal to the <paramref name="other" /> parameter; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.HashValue.CoerceToArray(System.Collections.Generic.IEnumerable{System.Byte},System.Int32)">
            <summary>
            Coerces the given <paramref name="hash"/> to a byte array with <paramref name="bitLength"/> significant bits.
            </summary>
            <param name="hash">The hash.</param>
            <param name="bitLength">Length of the hash, in bits.</param>
            <returns>A byte array that has been coerced to the proper length.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.NamespaceDoc">
            <summary>
            Contains utilities to be shared with implementers of <see cref="T:System.Data.HashFunction.Core.HashFunctionBase" /> or <see cref="T:System.Data.HashFunction.Core.HashFunctionAsyncBase" />.
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData.Length">
            <summary>
            Length of data provided.
            </summary>
            <remarks>
            Implementors are allowed throw an exception if it is not possible to resolve the length of the data.
            </remarks>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData"/> class.
            </summary>
            <param name="data">The data to represent.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="data"/></exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData.ForEachRead(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData.ForEachGroup(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.ArrayData.ToArray(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData">
            <summary>
            Centralized methodology for accessing data used by Data.HashFunction asynchronously.
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData.Length">
            <summary>
            Length of data provided.
            </summary>
            <remarks>
            Implementors are allowed throw an exception if it is not possible to resolve the length of the data.
            </remarks>
            <exception cref="T:System.NotSupportedException" />
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData.BufferSize">
            <summary>
            Length of temporary buffers used, if they are needed.
            </summary>
            <remarks>
            Implementors are not required to use this value.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">value; value must be greater than 0</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData.ForEachRead(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData.ForEachGroup(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedData.ToArray(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedDataAsync">
            <summary>
            Centralized methodology for accessing data used by Data.HashFunction asynchronously.
            </summary>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedDataAsync.ForEachReadAsync(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedDataAsync.ForEachGroupAsync(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.IUnifiedDataAsync.ToArrayAsync(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.UnifiedData.NamespaceDoc">
            <summary>
            Contains a centralized methodology for accessing data used by Data.HashFunction both synchronously and asynchronously.
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.Length">
            <summary>
            Length of data provided.
            </summary>
            <remarks>
            Implementors are allowed throw an exception if it is not possible to resolve the length of the data.
            </remarks>
            <exception cref="T:System.NotSupportedException" />
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData"/> class.
            </summary>
            <param name="data">The stream to represent.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="data"/></exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.Dispose">
            <summary>
            Disposes underlying stream.
            </summary>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ForEachRead(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ForEachReadAsync(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ForEachGroup(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ForEachGroupAsync(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ToArray(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.StreamData.ToArrayAsync(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataAsyncBase">
            <summary>
            Centralized methodology for accessing data used by Data.HashFunction.
            </summary>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataAsyncBase.ForEachReadAsync(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataAsyncBase.ForEachGroupAsync(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Task representing the asynchronous operation.</returns>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>        
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataAsyncBase.ToArrayAsync(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while reading the underlying data.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase">
            <summary>
            Centralized methodology for accessing data used by Data.HashFunction.
            </summary>
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase.Length">
            <summary>
            Length of data provided.
            </summary>
            <remarks>
            Implementors are allowed throw an exception if it is not possible to resolve the length of the data.
            </remarks>
            <exception cref="T:System.NotSupportedException" />
        </member>
        <member name="P:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase.BufferSize">
            <summary>
            Length of temporary buffers used, if they are needed.
            </summary>
            <remarks>
            Implementors are not required to use this value.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">value; value must be greater than 0</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase.ForEachRead(System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action each time a chunk is read.
            </summary>
            <param name="action">Function to execute.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase.ForEachGroup(System.Int32,System.Action{System.Byte[],System.Int32,System.Int32},System.Action{System.Byte[],System.Int32,System.Int32},System.Threading.CancellationToken)">
            <summary>
            Executes an action one or more times, providing the data read as an array whose length is a multiple of groupSize.  
            Optionally runs an action on the final remainder group.
            </summary>
            <param name="groupSize">Length of the groups passed to the action.</param>
            <param name="action">Action to execute for each full group read.</param>
            <param name="remainderAction">Action to execute if the final group is less than groupSize.  Null values are allowed.</param>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <remarks>remainderAction will not be run if the length of the data is a multiple of groupSize.</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">groupSize;groupSize must be greater than 0.</exception>
            <exception cref="T:System.ArgumentNullException">action</exception>
        </member>
        <member name="M:System.Data.HashFunction.Core.Utilities.UnifiedData.UnifiedDataBase.ToArray(System.Threading.CancellationToken)">
            <summary>
            Reads all data and converts it to an in-memory array.
            </summary>
            <param name="cancellationToken">A cancellation token to observe while calculating the hash value.</param>
            <returns>Array of bytes read from the data provider.</returns>
        </member>
        <member name="T:System.Data.HashFunction.IHashFunction_Extensions">
            <summary>
            Static class to provide extension functions for IHashFunction instances.
            </summary>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Boolean)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Byte)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Char)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Double)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Single)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int64)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.SByte)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int16)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.String)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
            <remarks>
            UTF-8 encoding used to convert string to bytes.
            </remarks>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt64)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt16)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Boolean,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Byte,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Char,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Double,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Single,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int32,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int64,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.SByte,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Int16,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.String,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
            <remarks>
            UTF-8 encoding used to convert string to bytes.
            </remarks>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt32,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt64,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.UInt16,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash``1(System.Data.HashFunction.IHashFunction,``0,System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <typeparam name="ModelT">Type of data to be hashed.</typeparam>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
            <remarks>
            <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> is used to turn given data into a byte array.
            </remarks>
        </member>
        <member name="M:System.Data.HashFunction.IHashFunction_Extensions.ComputeHash(System.Data.HashFunction.IHashFunction,System.Byte[],System.Int32)">
            <summary>
            Computes hash value for given data.
            </summary>
            <param name="hashFunction">Hash function to use.</param>
            <param name="data">Data to be hashed.</param>
            <param name="desiredHashSize">Desired size of resulting hash, in bits.</param>
            <returns>
            Hash value of the data as byte array.
            </returns>
        </member>
        <member name="T:System.Data.HashFunction.NamespaceDoc">
            <summary>
            Namespace containing all supported HashFunctions provided by Data.HashFunction.
            </summary>
        </member>
    </members>
</doc>
